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

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

public abstract class AbstractFunction
extends SequentialWithArguments


Nested Class Summary
 
Nested classes/interfaces 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
QUOTED
 
Fields inherited from class org.globus.cog.karajan.workflow.nodes.FlowNode
A_INLINE_TEXT, debug, startCount, STDERR, STDOUT, threadTracker
 
Fields inherited from interface org.globus.cog.karajan.workflow.nodes.FlowElement
ANNOTATION, CALLER, FILENAME, LINE, TEXT, UID
 
Constructor Summary
AbstractFunction()
           
 
Method Summary
protected  void executeChildren(VariableStack stack)
           
 void executeSimple(VariableStack stack)
           
abstract  Object function(VariableStack stack)
           
 boolean isSimple()
           
 void post(VariableStack stack)
           
 void pre(VariableStack stack)
           
protected  void ret(VariableStack stack, Object value)
           
protected  void setSimple(boolean simple)
           
protected  void setValue(Object value)
           
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments
addChannel, argumentsEvaluated, checkArguments, childCompleted, getArgument, getArgumentCount, getArgumentIndex, getArgumentNames, getArguments, getChannels, getMaxArgIndex, getNonpropargs, getOptionalArgs, getQuotedArgs, getSortedArgs, hasChannels, hasNestedArguments, hasVariableArguments, initializeArgs, initializeStatic, newNameBindingVariableArguments, newVariableArguments, processArguments, setArguments, setHasVargs, setNestedArgs, setNonpropargs, setQuotedArgs, setVargs
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.Sequential
executeSingle, exit, getIndex, moreToExecute, notificationEvent, preDecIndex, preIncIndex, setIndex, startElement, startNext
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.FlowContainer
execute, getChildFailed, isOptimizable, setChildFailed, setOptimize
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.FlowNode
_finally, abort, abortEvent, acceptsInlineText, addElement, addStaticArgument, checkClass, checkCompleted, checkFailed, complete, controlEvent, copy, echo, echo, elementCount, elements, event, executeErrorHandler, fail, fail, failIfNotDefined, failIfNull, failIfNull, failImmediately, failImmediately, failImmediately, failImmediately, fireControlEvent, fireMonitoringEvent, fireNotificationEvent, fireStatusMonitoringEvent, get_locator, getBooleanProperty, getBooleanProperty, getCanonicalType, getElement, getElementType, getIntProperty, getIntProperty, getParent, getProperty, getStaticArguments, getStringProperty, getTextualName, getTreeProperty, getUID, hasFrame, hasProperty, isCheckpointable, isSystemProperty, loadComplete, loadStarted, monitoringEvent, propertyNames, removeElement, removeElement, removeProperty, replaceElement, restart, restartElement, set_locator, setAcceptsInlineText, setCheckpointable, setElements, setElementType, setFrame, setParent, setProperties, setProperty, setProperty, setProperty, setStaticArguments, start, startElement, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractFunction

public AbstractFunction()
Method Detail

pre

public void pre(VariableStack stack)
         throws ExecutionException
Overrides:
pre in class AbstractSequentialWithArguments
Throws:
ExecutionException

executeChildren

protected void executeChildren(VariableStack stack)
                        throws ExecutionException
Overrides:
executeChildren in class Sequential
Throws:
ExecutionException

post

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

ret

protected void ret(VariableStack stack,
                   Object value)
            throws ExecutionException
Overrides:
ret in class FlowNode
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