public abstract class AbstractRslNode extends Object
Modifier and Type | Field and Description |
---|---|
protected int |
_operator |
protected List |
_specifications |
static int |
AND |
static int |
MULTI |
static int |
OR |
Constructor and Description |
---|
AbstractRslNode() |
AbstractRslNode(int operator) |
Modifier and Type | Method and Description |
---|---|
boolean |
add(AbstractRslNode node)
Adds a rsl parse tree to this node.
|
abstract boolean |
add(Bindings bindings) |
abstract boolean |
add(NameOpValue relations) |
static String |
canonicalize(String str)
Canonicalizes a string by removing any underscores and
moving all characters to lowercase.
|
AbstractRslNode |
evaluate()
Evalutes the rsl tree.
|
abstract AbstractRslNode |
evaluate(Map symbolTable)
Evalutes the rsl tree against the specified symbol table.
|
abstract Bindings |
getBindings(String attribute)
Returns the variable definitions associated wit the given
attribute.
|
int |
getOperator()
Returns the node operator.
|
String |
getOperatorAsString()
Returns the operator as a string.
|
static String |
getOperatorAsString(int op)
Returns a string represention of a given operator.
|
abstract NameOpValue |
getParam(String attribute)
Returns the relation associated with the given attribute.
|
List |
getSpecifications()
Returns the list of sub-specifications.
|
void |
merge(AbstractRslNode inNode)
Merges the specified node with the current node.
|
void |
mergeTo(AbstractRslNode dstNode) |
abstract Bindings |
removeBindings(String attribute)
Removes a bindings list for the specified attribute.
|
abstract NameOpValue |
removeParam(String attribute)
Removes a relation for the specified attribute.
|
boolean |
removeSpecification(AbstractRslNode node)
Removes a specific sub-specification tree from the
sub-specification list.
|
void |
setOperator(int oper)
Sets the operator.
|
String |
toRSL(boolean explicitConcat)
Returns a RSL representation of this relation.
|
abstract void |
toRSL(StringBuffer buf,
boolean explicitConcat)
Produces a RSL representation of node.
|
String |
toString() |
public static final int AND
public static final int OR
public static final int MULTI
protected int _operator
protected List _specifications
public AbstractRslNode()
public AbstractRslNode(int operator)
public abstract boolean add(Bindings bindings)
public abstract boolean add(NameOpValue relations)
public boolean add(AbstractRslNode node)
node
- the rsl parse tree to add.public abstract NameOpValue getParam(String attribute)
attribute
- the attribute of the relation.public abstract Bindings getBindings(String attribute)
attribute
- the attribute of the variable deinitions.public boolean removeSpecification(AbstractRslNode node)
node
- node to remove.public abstract Bindings removeBindings(String attribute)
attribute
- the attribute name for the
bindings.public abstract NameOpValue removeParam(String attribute)
attribute
- the attribute name for the
relation to remove.public void merge(AbstractRslNode inNode)
inNode
- the source parse tree.public void mergeTo(AbstractRslNode dstNode)
public List getSpecifications()
public int getOperator()
public void setOperator(int oper)
oper
- the operator.public String getOperatorAsString()
public static String getOperatorAsString(int op)
op
- the operator.public AbstractRslNode evaluate() throws RslEvaluationException
RslEvaluationException
- If an error occured during
rsl evaluation.public abstract AbstractRslNode evaluate(Map symbolTable) throws RslEvaluationException
symbolTable
- the symbol table to evalute variables against.RslEvaluationException
- If an error occured during
rsl evaluation.public String toRSL(boolean explicitConcat)
explicitConcat
- if true explicit concatination will
be used in RSL strings.public abstract void toRSL(StringBuffer buf, boolean explicitConcat)
buf
- buffer to add the RSL representation to.explicitConcat
- if true explicit concatination will
be used in RSL strings.Copyright © 2016. All rights reserved.