Interface ExprNode
-
- All Superinterfaces:
Cloneable
- All Known Implementing Classes:
AbstractExprNode,AndNode,ApproximateNode,AssertionNode,BranchNode,EqualityNode,ExtensibleNode,GreaterEqNode,LeafNode,LessEqNode,NotNode,ObjectClassNode,OrNode,PresenceNode,ScopeNode,SimpleNode,SubstringNode,UndefinedNode
public interface ExprNode extends Cloneable
Root expression node interface which all expression nodes in the filter expression tree implement.- Author:
- Apache Directory Project
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Objectaccept(FilterVisitor visitor)Element/node accept method for visitor pattern.ExprNodeclone()Clone this expression node.Objectget(Object key)Gets an annotation on the tree by key.AssertionTypegetAssertionType()Gets the assertion type of this node.booleanisLeaf()Tests to see if this node is a leaf or branch node.booleanisSchemaAware()Tells if this Node is Schema aware.StringBuilderprintRefinementToBuffer(StringBuilder buf)Recursively appends the refinement string representation of this node and its descendants in prefix notation to a buffer.voidset(String key, Object value)Sets a annotation key to a value.
-
-
-
Method Detail
-
get
Object get(Object key)
Gets an annotation on the tree by key.- Parameters:
key- the annotation key.- Returns:
- the annotation value.
-
set
void set(String key, Object value)
Sets a annotation key to a value.- Parameters:
key- the annotation key.value- the annotation value.
-
isLeaf
boolean isLeaf()
Tests to see if this node is a leaf or branch node.- Returns:
- true if the node is a leaf,false otherwise
-
isSchemaAware
boolean isSchemaAware()
Tells if this Node is Schema aware.- Returns:
- true if the Node is SchemaAware
-
getAssertionType
AssertionType getAssertionType()
Gets the assertion type of this node. Make it possible to use switch statements on the node type.- Returns:
- the assertion type
-
printRefinementToBuffer
StringBuilder printRefinementToBuffer(StringBuilder buf)
Recursively appends the refinement string representation of this node and its descendants in prefix notation to a buffer.- Parameters:
buf- the buffer to append to.- Returns:
- The buffer in which the refinement has been appended
- Throws:
UnsupportedOperationException- if this node isn't a part of a refinement.
-
accept
Object accept(FilterVisitor visitor)
Element/node accept method for visitor pattern.- Parameters:
visitor- the filter expression tree structure visitor- Returns:
- the modified element
-
clone
ExprNode clone()
Clone this expression node.- Returns:
- the cloned expression node
-
-