Class LeafNode
- java.lang.Object
-
- org.apache.directory.api.ldap.model.filter.AbstractExprNode
-
- org.apache.directory.api.ldap.model.filter.LeafNode
-
- Direct Known Subclasses:
ExtensibleNode,PresenceNode,SimpleNode,SubstringNode
public abstract class LeafNode extends AbstractExprNode
Abstract base class for leaf nodes within the expression filter tree.- Author:
- Apache Directory Project
-
-
Field Summary
Fields Modifier and Type Field Description protected Stringattributeattribute on which this leaf is basedprotected AttributeTypeattributeTypeattributeType on which this leaf is based-
Fields inherited from class org.apache.directory.api.ldap.model.filter.AbstractExprNode
annotations, assertionType
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedLeafNode(String attribute, AssertionType assertionType)Creates a leaf node.protectedLeafNode(AttributeType attributeType, AssertionType assertionType)Creates a leaf node.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectaccept(FilterVisitor visitor)Element/node accept method for visitor pattern.booleanequals(Object other)protected static StringescapeFilterValue(String value)Handles the escaping of special characters in LDAP search filter assertion values using the <valueencoding> rule as described in RFC 4515.protected static StringescapeFilterValue(AttributeType attributeType, byte[] value)Handles the escaping of special characters in LDAP search filter assertion values using the <valueencoding> rule as described in RFC 4515.StringgetAttribute()Gets the attribute this leaf node is based on.AttributeTypegetAttributeType()Gets the attributeType this leaf node is based on.inthashCode()booleanisLeaf()Gets whether this node is a leaf - the answer is always true here.booleanisSchemaAware()Tells if this Node is Schema aware.voidsetAttribute(String attribute)Sets the attribute this leaf node is based on.voidsetAttributeType(AttributeType attributeType)Sets the attributeType this leaf node is based on.-
Methods inherited from class org.apache.directory.api.ldap.model.filter.AbstractExprNode
clone, get, getAnnotations, getAssertionType, printRefinementToBuffer, set, toString
-
-
-
-
Field Detail
-
attributeType
protected AttributeType attributeType
attributeType on which this leaf is based
-
attribute
protected String attribute
attribute on which this leaf is based
-
-
Constructor Detail
-
LeafNode
protected LeafNode(AttributeType attributeType, AssertionType assertionType)
Creates a leaf node.- Parameters:
attributeType- the attribute this node is based onassertionType- the type of this leaf node
-
LeafNode
protected LeafNode(String attribute, AssertionType assertionType)
Creates a leaf node.- Parameters:
attribute- the attribute this node is based onassertionType- the type of this leaf node
-
-
Method Detail
-
isLeaf
public final boolean isLeaf()
Gets whether this node is a leaf - the answer is always true here.- Returns:
- true always
-
getAttributeType
public final AttributeType getAttributeType()
Gets the attributeType this leaf node is based on.- Returns:
- the attributeType asserted
-
getAttribute
public final String getAttribute()
Gets the attribute this leaf node is based on.- Returns:
- the attribute asserted
-
setAttributeType
public void setAttributeType(AttributeType attributeType)
Sets the attributeType this leaf node is based on.- Parameters:
attributeType- the attributeType that is asserted by this filter node
-
setAttribute
public void setAttribute(String attribute)
Sets the attribute this leaf node is based on.- Parameters:
attribute- the attribute that is asserted by this filter node
-
accept
public final Object accept(FilterVisitor visitor)
Description copied from interface:ExprNodeElement/node accept method for visitor pattern.- Parameters:
visitor- the filter expression tree structure visitor- Returns:
- The modified element
- See Also:
ExprNode.accept( FilterVisitor)
-
isSchemaAware
public boolean isSchemaAware()
Tells if this Node is Schema aware.- Returns:
- true if the Node is SchemaAware
-
escapeFilterValue
protected static String escapeFilterValue(AttributeType attributeType, byte[] value)
Handles the escaping of special characters in LDAP search filter assertion values using the <valueencoding> rule as described in RFC 4515. Needed so thatExprNode.printRefinementToBuffer(StringBuilder)results in a valid filter string that can be parsed again (as a way of cloning filters).- Parameters:
attributeType- The associatedAttributeTypevalue- Right hand side of "attrId=value" assertion occurring in an LDAP search filter.- Returns:
- Escaped version of
value
-
escapeFilterValue
protected static String escapeFilterValue(String value)
Handles the escaping of special characters in LDAP search filter assertion values using the <valueencoding> rule as described in RFC 4515. Needed so thatExprNode.printRefinementToBuffer(StringBuilder)results in a valid filter string that can be parsed again (as a way of cloning filters).- Parameters:
value- Right hand side of "attrId=value" assertion occurring in an LDAP search filter.- Returns:
- Escaped version of
value
-
hashCode
public int hashCode()
- Overrides:
hashCodein classAbstractExprNode- Returns:
- the instance's hash code
- See Also:
Object.hashCode()
-
equals
public boolean equals(Object other)
- Overrides:
equalsin classAbstractExprNode- Returns:
trueif both objects are equal- See Also:
Object.equals(java.lang.Object)
-
-