org.globus.cog.karajan.workflow.nodes
Interface FlowElement

All Superinterfaces:
EventListener
All Known Subinterfaces:
ExtendedFlowElement
All Known Implementing Classes:
AbstractFileOperation, AbstractFunction, AbstractGridNode, AbstractIterator, AbstractParallelIterator, AbstractRegexpFailureHandler, AbstractSequentialIterator, AbstractSequentialWithArguments, AbstractUParallelIterator, AllocateHost, Args, Argument, AvailableTaskHandlers, BDP, Break, CacheNode, CacheOn, Catch, Channel, ChannelClose, ChannelFork, ChannelFrom, ChannelTo, CheckpointNode, Chmod, ConditionalNode, ConditionNode, Continue, DefaultParameterNode, Define, Disallowed, DummyNode, Each, Echo, ElementDefNode, ElementList, ErrorHandlerNode, EventWait, Exclusive, ExecuteElement, ExecuteFile, ExecuteJavaNode, ExplicitExecutionUDE, Export, FileExists, FileList, FileRemove, FileSize, FileWrite, FlowContainer, FlowElementWrapper, FlowNode, For, Functions, FunctionsCollection, FutureIteratorNode, FutureNode, GenerateErrorNode, Global, GlobalK, GridExec, GridNode, GridTransfer, Guard, HostNode, If, IgnoreErrorsNode, Include, Info, Input, IsDirectory, Java, JavaMethodInvocationNode, JavaNull, KException, List, Logged, Logic, MakeDir, Map, Map_Map, Math, Maybe, Misc, Namespace, NewJavaObjectNode, NumericValue, Once, OptionalArgs, Parallel, ParallelChoice, ParallelFor, ParallelImplicitExecutionUDE, PartialArgumentsContainer, PassiveNode, Print, ProjectNode, QuotedList, QuotedString, RemoteCaller, RemoteContainer, RemoteNode, Rename, RestartLog, RestartOnErrorNode, Rmdir, SchedulerNode, SecurityContextNode, Self, Sequential, SequentialChoice, SequentialImplicitExecutionUDE, SequentialWithArguments, ServiceNode, SetVar, SetVarK, StringValue, Sum, TaskHandlerNode, Time, UDEWrapper, UndefinedNode, Unique, UnknownElement, Unquote, UnsynchronizedNode, UParallel, UParallelFor, UserDefinedElement, Vargs, VargsK, Variable, WaitNode, While

public interface FlowElement
extends EventListener


Field Summary
static String ANNOTATION
           
static String CALLER
           
static String FILENAME
           
static String LINE
           
static String TEXT
           
static String UID
           
 
Method Summary
 boolean acceptsInlineText()
          Returns true if the implementation of this element makes use of inline XML text.
 void addElement(FlowElement element)
          Adds a child element to this element.
 void addStaticArgument(String name, Object value)
           
 int elementCount()
          Returns the number of child elements for this element
 List elements()
          Returns the list of child elements
 void failImmediately(VariableStack stack, String string)
          Provides means to cause the execution of this element under the given context (stack) to fail
 FlowElement getElement(int index)
          Returns the child element at @param index
 String getElementType()
          Returns the type of this element
 FlowElement getParent()
          Retrieves the parent previously set with setParent
 Object getProperty(String name)
          Retrieves the value of a property.
 Map getStaticArguments()
           
 boolean hasProperty(String name)
          Returns true if a property with the given name was set on this element.
 Collection propertyNames()
          Returns a collection of all the property names that are set on this element.
 void removeElement(int index)
          Removes the child element at @param index.
 void removeProperty(String name)
          Completely removes a property previously set on this element.
 void replaceElement(int index, FlowElement element)
          Replaces the child element at @param index with
 void setElements(List elements)
           
 void setElementType(String type)
          Sets the element type.
 void setParent(FlowElement parent)
          Sets the lexical parent of this element.
 void setProperties(Map properties)
           
 void setProperty(String name, Object value)
          Sets a property on this element.
 void setStaticArguments(Map args)
           
 
Methods inherited from interface org.globus.cog.karajan.workflow.events.EventListener
event
 

Field Detail

UID

static final String UID
See Also:
Constant Field Values

LINE

static final String LINE
See Also:
Constant Field Values

FILENAME

static final String FILENAME
See Also:
Constant Field Values

ANNOTATION

static final String ANNOTATION
See Also:
Constant Field Values

TEXT

static final String TEXT
See Also:
Constant Field Values

CALLER

static final String CALLER
See Also:
Constant Field Values
Method Detail

addElement

void addElement(FlowElement element)
Adds a child element to this element. The child element is added at the end of the list of child elements


getElement

FlowElement getElement(int index)
Returns the child element at @param index


replaceElement

void replaceElement(int index,
                    FlowElement element)
Replaces the child element at @param index with

Parameters:
element -

removeElement

void removeElement(int index)
Removes the child element at @param index. The elements with indexes > @param index will be shifted down in the list


setElements

void setElements(List elements)

elementCount

int elementCount()
Returns the number of child elements for this element


elements

List elements()
Returns the list of child elements


setElementType

void setElementType(String type)
Sets the element type. The element type is a string reflecting the actual name used in source files.


getElementType

String getElementType()
Returns the type of this element


setProperty

void setProperty(String name,
                 Object value)
Sets a property on this element. The value can be null


setProperties

void setProperties(Map properties)

removeProperty

void removeProperty(String name)
Completely removes a property previously set on this element. If no property with the given name exists, removeProperty will have no effect.


getProperty

Object getProperty(String name)
Retrieves the value of a property. If no property with the given name exists, getProperty will return null. In order to distinguish between a property with a value of null and a property not set, hasProperty can be used.


hasProperty

boolean hasProperty(String name)
Returns true if a property with the given name was set on this element.


propertyNames

Collection propertyNames()
Returns a collection of all the property names that are set on this element.


addStaticArgument

void addStaticArgument(String name,
                       Object value)

setStaticArguments

void setStaticArguments(Map args)

getStaticArguments

Map getStaticArguments()

setParent

void setParent(FlowElement parent)
Sets the lexical parent of this element. When adding a child element with addElement, setParent is automatically called on the child element with this element as the argument.


getParent

FlowElement getParent()
Retrieves the parent previously set with setParent


failImmediately

void failImmediately(VariableStack stack,
                     String string)
                     throws ExecutionException
Provides means to cause the execution of this element under the given context (stack) to fail

Throws:
ExecutionException

acceptsInlineText

boolean acceptsInlineText()
Returns true if the implementation of this element makes use of inline XML text. XML unfortunately does not provide means to separate relevant inline text from formatting whitespace (which in itself may or may not be relevant, depending on the context).