package org.openedit.events; import java.util.Iterator; import com.openedit.OpenEditException; import com.openedit.config.XMLConfiguration; public abstract class Action extends PropertyContainer { protected String fieldName; protected String fieldType; public void configure(XMLConfiguration inConfig) throws OpenEditException { String name = inConfig.getAttribute("name"); setName(name); } public String getName() { return fieldName; } public void setName(String inName) { fieldName = inName; } public abstract boolean execute(BaseTask inTask) throws OpenEditException; //public abstract boolean isComplete(VideoTask inTask) throws OpenEditException; public String getType() { return fieldType; } public void setType(String inType) { fieldType = inType; } /* * Substitutes properties in for any variables in the String */ public String resolveString(String inString) { String newString = new String(inString); if (getProperties() != null) { for (Iterator iterator = getProperties().keySet().iterator(); iterator.hasNext();) { String key = (String) iterator.next(); String val = getProperty(key); newString = newString.replaceAll("\\$\\{" + key + "\\}", val); } } return newString; } }