org.globus.cog.karajan.workflow.nodes.functions
Class AbstractFunction

java.lang.Object
  extended byorg.globus.cog.karajan.workflow.nodes.FlowNode
      extended byorg.globus.cog.karajan.workflow.nodes.FlowContainer
          extended byorg.globus.cog.karajan.workflow.nodes.Sequential
              extended byorg.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments
                  extended byorg.globus.cog.karajan.workflow.nodes.SequentialWithArguments
                      extended byorg.globus.cog.karajan.workflow.nodes.functions.AbstractFunction
All Implemented Interfaces:
EventListener, ExtendedFlowElement, FlowElement, LoadListener
Direct Known Subclasses:
FunctionsCollection, GridNode, HostNode, JavaMethodInvocationNode, NewJavaObjectNode, NumericValue, QuotedString, SecurityContextNode, SecurityContextPropertyNode, ServiceNode, StringValue, TaskHandlerNode, Unquote, Variable

public abstract class AbstractFunction
extends SequentialWithArguments


Nested Class Summary
 
Nested classes inherited from class org.globus.cog.karajan.workflow.nodes.FlowNode
FlowNode.FNTP
 
Field Summary
 
Fields inherited from class org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments
commonArguments, QUOTED
 
Fields inherited from class org.globus.cog.karajan.workflow.nodes.Sequential
INDEX
 
Fields inherited from class org.globus.cog.karajan.workflow.nodes.FlowContainer
CALLER
 
Fields inherited from class org.globus.cog.karajan.workflow.nodes.FlowNode
debug, startCount, TEXT, threadTracker
 
Constructor Summary
AbstractFunction()
           
 
Method Summary
 void executeSimple(VariableStack stack)
           
abstract  Object function(VariableStack stack)
           
 boolean isSimple()
           
 void post(VariableStack stack)
           
protected  void setSimple(boolean simple)
           
protected  void setValue(Object value)
           
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.SequentialWithArguments
executeChildren
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments
argumentsEvaluated, checkArguments, getArgument, getArgument, getArgumentCount, getArgumentIndex, getArgumentNames, getArguments, getMaxArgIndex, getNonpropargs, getPropargs, getQuotedArgs, getSortedArgs, getVargs, getVargsAsArray, hasArgument, hasNestedArguments, hasVariableArguments, initializeArgs, initializeStatic, newNameBindingVariableArguments, newVariableArguments, notificationEvent, pre, processArguments, setArguments, setArguments, setHasVargs, setNestedArgs, setNonpropargs, setQuotedArgs, setVargs
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.Sequential
executeSingle, exit, moreToExecute, startNext
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.FlowContainer
addChannel, execute, isOptimizable, setOptimize
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.FlowNode
abort, acceptsInlineText, addElement, checkClass, checkCompleted, checkFailed, complete, controlEvent, copy, echo, echo, elementCount, elements, end, event, executeErrorHandler, expandProperty, expandProperty, expandPropertyAsString, fail, fail, failIfNotDefined, failIfNull, failIfNull, failImmediately, failImmediately, failImmediately, fireControlEvent, fireMonitoringEvent, fireNotificationEvent, fireStatusMonitoringEvent, get_locator, getBooleanProperty, getBooleanProperty, getCanonicalType, getElement, getElementType, getIntProperty, getIntProperty, getParent, getProjectNode, getProperty, getStringProperty, getTreeProperty, getVar, hasFrame, hashCode, hasProperty, isCheckpointable, isSystemProperty, loadComplete, loadStarted, monitoringEvent, propertyNames, removeProperty, restart, restartElement, ret, ret, set_locator, setAcceptsInlineText, setCheckpointable, setElementType, setFrame, setParent, setProperty, setProperty, setProperty, start, startElement, startElement, toString, verify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractFunction

public AbstractFunction()
Method Detail

post

public final void post(VariableStack stack)
                throws ExecutionException
Overrides:
post in class FlowContainer
Throws:
ExecutionException

function

public abstract Object function(VariableStack stack)
                         throws ExecutionException
Throws:
ExecutionException

setSimple

protected void setSimple(boolean simple)

setValue

protected void setValue(Object value)

isSimple

public boolean isSimple()
Specified by:
isSimple in interface ExtendedFlowElement
Overrides:
isSimple in class FlowNode

executeSimple

public void executeSimple(VariableStack stack)
                   throws ExecutionException
Specified by:
executeSimple in interface ExtendedFlowElement
Overrides:
executeSimple in class FlowNode
Throws:
ExecutionException