Package org.globus.rsl

# Class Bindings

java.lang.Object
org.globus.rsl.NameValue
org.globus.rsl.Bindings

public class Bindings extends NameValue
This class represnts a variable definitions in the RSL string (see rsl_substitution attribute)

## Field Summary

### Fields inherited from class org.globus.rsl.NameValue

`attribute, values`

## Constructor Summary

Constructors
Constructor
Description
`Bindings(String attribute)`

## Method Summary

Modifier and Type
Method
Description
`void`
`add(Binding binding)`
Adds a new variable definition to the list.
`Bindings`
`evaluate(Map symbolTable)`
Evaluates the variable definitions as variable definitions can reference each other against the symbol table.
`boolean`
`removeVariable(String varName)`
Removes a specific variable definition from the list of bindings.
`void`
`toRSL(StringBuffer buf, boolean explicitConcat)`
Produces a RSL representation of this relation.

### Methods inherited from class org.globus.rsl.NameValue

`clear, getAttribute, getFirstValue, getValues, merge, remove, setAttribute, setValues, toRSL, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### Bindings

public Bindings(String attribute)

## Method Details

### add

public void add(Binding binding)
Adds a new variable definition to the list.

Parameters:
  `binding` - a new variable definition.

### removeVariable

public boolean removeVariable(String varName)
Removes a specific variable definition from the list of bindings. The variable name must match exactly to be removed (it is case sensitive).

Parameters:
  `varName` - variable name to remove the definition of.
Returns:
  true if the variable was successfully removed. False, otherwise.

### evaluate

public Bindings evaluate(Map symbolTable) throws RslEvaluationException
Evaluates the variable definitions as variable definitions can reference each other against the symbol table. The evaluation process updates the symbol table.

Parameters:
  `symbolTable` - the symbol table to evalute the variables against.
Returns:
  a new evaluted variable definition.
Throws:
  `RslEvaluationException` - If an error occured during rsl evaluation.

### toRSL

public void toRSL(StringBuffer buf, boolean explicitConcat)
Produces a RSL representation of this relation.

Specified by:
  `toRSL` in class `NameValue`
Parameters:
  `buf` - buffer to add the RSL representation to.
  `explicitConcat` - if true explicit concatination will be used in RSL strings.