001 /******************************************************************************
002 * Copyright (C) MActor Developers. All rights reserved. *
003 * ---------------------------------------------------------------------------*
004 * This file is part of MActor. *
005 * *
006 * MActor is free software; you can redistribute it and/or modify *
007 * it under the terms of the GNU General Public License as published by *
008 * the Free Software Foundation; either version 2 of the License, or *
009 * (at your option) any later version. *
010 * *
011 * MActor is distributed in the hope that it will be useful, *
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
014 * GNU General Public License for more details. *
015 * *
016 * You should have received a copy of the GNU General Public License *
017 * along with MActor; if not, write to the Free Software *
018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
019 ******************************************************************************/
020 package org.mactor.framework.spec;
021
022 import org.dom4j.Element;
023 import org.mactor.framework.MactorException;
024
025 public class ConditionSpec extends ContainerSpec {
026 public String getExecute() {
027 return execute;
028 }
029 @Override
030 public String getType() {
031 return "condition";
032 }
033 private String execute;
034 public static ConditionSpec loadSpec(Element element) throws MactorException {
035 if (element == null)
036 return null;
037 ConditionSpec s = new ConditionSpec();
038 s.name = element.attributeValue("name");
039 s.execute = element.attributeValue("execute");
040 s.loadContainedNodes(element);
041 return s;
042 }
043 public String getShortDescription() {
044 return "Condition node - '" + name + "'";
045 }
046 public String getDescription() {
047 return "Condition";
048 }
049 public Element addToElement(Element parent) {
050 Element e = parent.addElement(getType());
051 e.addAttribute("name", name);
052 e.addAttribute("execute", execute);
053 super.writeContainedNodesToElement(e);
054 return e;
055 }
056 public void setExecute(String execute) {
057 this.execute = execute;
058 }
059 }