org.globus.cog.karajan.workflow.service
Class RemoteCaller

java.lang.Object
  extended by org.globus.cog.karajan.workflow.service.RemoteCaller
All Implemented Interfaces:
EventListener, FlowElement

public class RemoteCaller
extends Object
implements FlowElement


Field Summary
 
Fields inherited from interface org.globus.cog.karajan.workflow.nodes.FlowElement
ANNOTATION, CALLER, FILENAME, LINE, TEXT, UID
 
Constructor Summary
RemoteCaller(InstanceContext instanceContext, int 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 event(Event e)
           
 void failImmediately(VariableStack stack, String message)
          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
 ProjectNode getProjectNode()
           
 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 class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoteCaller

public RemoteCaller(InstanceContext instanceContext,
                    int uid)
Method Detail

addElement

public void addElement(FlowElement element)
Description copied from interface: FlowElement
Adds a child element to this element. The child element is added at the end of the list of child elements

Specified by:
addElement in interface FlowElement

replaceElement

public void replaceElement(int index,
                           FlowElement element)
Description copied from interface: FlowElement
Replaces the child element at @param index with

Specified by:
replaceElement in interface FlowElement

removeElement

public void removeElement(int index)
Description copied from interface: FlowElement
Removes the child element at @param index. The elements with indexes > @param index will be shifted down in the list

Specified by:
removeElement in interface FlowElement

getElement

public FlowElement getElement(int index)
Description copied from interface: FlowElement
Returns the child element at @param index

Specified by:
getElement in interface FlowElement

elementCount

public int elementCount()
Description copied from interface: FlowElement
Returns the number of child elements for this element

Specified by:
elementCount in interface FlowElement

elements

public List elements()
Description copied from interface: FlowElement
Returns the list of child elements

Specified by:
elements in interface FlowElement

setElementType

public void setElementType(String type)
Description copied from interface: FlowElement
Sets the element type. The element type is a string reflecting the actual name used in source files.

Specified by:
setElementType in interface FlowElement

getElementType

public String getElementType()
Description copied from interface: FlowElement
Returns the type of this element

Specified by:
getElementType in interface FlowElement

setProperty

public void setProperty(String name,
                        Object value)
Description copied from interface: FlowElement
Sets a property on this element. The value can be null

Specified by:
setProperty in interface FlowElement

removeProperty

public void removeProperty(String name)
Description copied from interface: FlowElement
Completely removes a property previously set on this element. If no property with the given name exists, removeProperty will have no effect.

Specified by:
removeProperty in interface FlowElement

getProperty

public Object getProperty(String name)
Description copied from interface: FlowElement
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.

Specified by:
getProperty in interface FlowElement

hasProperty

public boolean hasProperty(String name)
Description copied from interface: FlowElement
Returns true if a property with the given name was set on this element.

Specified by:
hasProperty in interface FlowElement

propertyNames

public Collection propertyNames()
Description copied from interface: FlowElement
Returns a collection of all the property names that are set on this element.

Specified by:
propertyNames in interface FlowElement

setParent

public void setParent(FlowElement parent)
Description copied from interface: FlowElement
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.

Specified by:
setParent in interface FlowElement

getParent

public FlowElement getParent()
Description copied from interface: FlowElement
Retrieves the parent previously set with setParent

Specified by:
getParent in interface FlowElement

failImmediately

public void failImmediately(VariableStack stack,
                            String message)
                     throws ExecutionException
Description copied from interface: FlowElement
Provides means to cause the execution of this element under the given context (stack) to fail

Specified by:
failImmediately in interface FlowElement
Throws:
ExecutionException

getProjectNode

public ProjectNode getProjectNode()

acceptsInlineText

public boolean acceptsInlineText()
Description copied from interface: FlowElement
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).

Specified by:
acceptsInlineText in interface FlowElement

event

public void event(Event e)
           throws ExecutionException
Specified by:
event in interface EventListener
Throws:
ExecutionException

setElements

public void setElements(List elements)
Specified by:
setElements in interface FlowElement

setProperties

public void setProperties(Map properties)
Specified by:
setProperties in interface FlowElement

addStaticArgument

public void addStaticArgument(String name,
                              Object value)
Specified by:
addStaticArgument in interface FlowElement

setStaticArguments

public void setStaticArguments(Map args)
Specified by:
setStaticArguments in interface FlowElement

getStaticArguments

public Map getStaticArguments()
Specified by:
getStaticArguments in interface FlowElement