RslNode (Java Globus API)
org.globus.rsl
Class RslNode
java.lang.Object
|
+--org.globus.rsl.AbstractRslNode
|
+--org.globus.rsl.RslNode
public class RslNode extends AbstractRslNode
This class represents a RSL parse tree. It is composed of variable definitions
(bindings), relations, and sub-specifications (sub nodes).
Methods inherited from class org.globus.rsl.AbstractRslNode
add , canonicalize , evaluate , getOperator , getOperatorAsString , getOperatorAsString , getSpecifications , merge , removeSpecification , setOperator , toRSL , toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
_relations
protected java.util.Map _relations
_bindings
protected java.util.Map _bindings
RslNode
public RslNode ()
RslNode
public RslNode (int operator)
put
public Bindings put (Bindings bindings)
add
public boolean add (Bindings bindings)
Specified by: add in class AbstractRslNode
put
public NameOpValue put (NameOpValue relation)
add
public boolean add (NameOpValue relation)
Specified by: add in class AbstractRslNode
mergeTo
public void mergeTo (AbstractRslNode dstNode)
Overrides: mergeTo in class AbstractRslNode
getParam
public NameOpValue getParam (java.lang.String attribute)
Returns the relation associated with the given attribute.
Specified by: getParam in class AbstractRslNode
Parameters: attribute - the attribute of the relation.
Returns: the relation for the attribute. Null, if not found.
getBindings
public Bindings getBindings (java.lang.String attribute)
Returns the variable definitions associated wit the given
attribute.
Specified by: getBindings in class AbstractRslNode
Parameters: attribute - the attribute of the variable deinitions.
Returns: the variable deinitions for the attribute.
Null, if not found.
removeParam
public NameOpValue removeParam (java.lang.String attribute)
Removes a relation for the specified attribute.
Specified by: removeParam in class AbstractRslNode
Parameters: attribute - the attribute name for the
relation to remove.
Returns: the relation that was removed.
removeBindings
public Bindings removeBindings (java.lang.String attribute)
Removes a bindings list for the specified attribute.
Specified by: removeBindings in class AbstractRslNode
Parameters: attribute - the attribute name for the
bindings.
Returns: the bindings that were removed.
getRelations
public java.util.Map getRelations ()
Returns the relations.
Returns: the map of relations.
getBindings
public java.util.Map getBindings ()
Returns the variable definitions.
Returns: the map of variable definitions.
evaluate
public AbstractRslNode evaluate (java.util.Map symbolTable)
throws RslEvaluationException
Evalutes the rsl tree against the specified symbol table.
All the variable definitions are first evaluated because
they might update the symbol table. Then all the relations
followed by the sub-specifications are evaluated.
Specified by: evaluate in class AbstractRslNode
Parameters: symbolTable - the symbol table to evalute variables against.
Returns: the evaluated rsl tree.
Throws:
RslEvaluationException - If an error occured during
rsl evaluation.
toRSL
public void toRSL (java.lang.StringBuffer buf,
boolean explicitConcat)
Produces a RSL representation of node.
Specified by: toRSL in class AbstractRslNode
Parameters: buf - buffer to add the RSL representation to.explicitConcat - if true explicit concatination will
be used in RSL strings.