Interface SubtreeSpecification
-
- All Known Implementing Classes:
BaseSubtreeSpecification
public interface SubtreeSpecification
RFC 3672 defined a subtree specification to be included within subentries.- Author:
- Apache Directory Project
-
-
Field Summary
Fields Modifier and Type Field Description static int
UNBOUNDED_MAX
an unbounded maximum depth value in a subtree specification
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Dn
getBase()
Gets an Rdn relative to the administrative context where the subtree scope begins.Set<Dn>
getChopAfterExclusions()
A set of RDNs relative to the base entry representing chopAfter specificExclusions from the subtree.Set<Dn>
getChopBeforeExclusions()
A set of RDNs relative to the base entry representing chopBefore specificExclusions from the subtree.int
getMaxBaseDistance()
Gets the distance after which to start excluding entries in the subtree or subtree refinement.int
getMinBaseDistance()
Gets the distance at which to start including entries in the subtree.ExprNode
getRefinement()
A subtree refinement represents a non-contiguous selection of entries using a limited filter expression where attribute assertions are based on the objectClass of the entries.void
toString(StringBuilder buffer)
Converts this item into its string representation as stored in directory.
-
-
-
Field Detail
-
UNBOUNDED_MAX
static final int UNBOUNDED_MAX
an unbounded maximum depth value in a subtree specification- See Also:
- Constant Field Values
-
-
Method Detail
-
getBase
Dn getBase()
Gets an Rdn relative to the administrative context where the subtree scope begins. All subentries containing these specifications are immediate subordinates to the administrative point, and are considered to be part of the same naming context. Hence the base for the subtree specification of a subentry immediately subordinate to dc=apache,dc=org would be relative to the dc=apache,dc=org context.- Returns:
- the Rdn representing the base of the subtree, or the empty name if the base is the administrative point - note that this Name is not Normalized according to matchingRules.
-
getChopBeforeExclusions
Set<Dn> getChopBeforeExclusions()
A set of RDNs relative to the base entry representing chopBefore specificExclusions from the subtree. According to RFC 3672: "If the chopBefore form is used then the specified entry and its subordinates are excluded from the subtree or subtree refinement."- Returns:
- a set of relative
Name
s to the subtree base or the empty set
-
getChopAfterExclusions
Set<Dn> getChopAfterExclusions()
A set of RDNs relative to the base entry representing chopAfter specificExclusions from the subtree. According to RFC 3672: "If the chopAfter form is used then only the subordinates of the specified entry are excluded from the subtree or subtree refinement."- Returns:
- a set of relative
Name
s to the subtree base or the empty set
-
getMinBaseDistance
int getMinBaseDistance()
Gets the distance at which to start including entries in the subtree. All entries whose Rdn arcs relative to the base are less than the minimum are excluded from the subtree or subtree refinement. The default is zero and therefore excludes nothing.- Returns:
- the minimum number of Rdn arcs relative to base for inclusion
-
getMaxBaseDistance
int getMaxBaseDistance()
Gets the distance after which to start excluding entries in the subtree or subtree refinement. RFC 3672 Section 2.1.3 states: "Entries that are more than the maximum number of Rdn arcs below the base entry are excluded from the subtree or subtree refinement. An absent maximum component indicates that there is no upper limit on the number of Rdn arcs below the base entry for entries in the subtree or subtree refinement." If the maximum is limitless a negative value should be used to represent the maximum distance - which makes no sense other than to denote the lack of an upper limit.- Returns:
- the number of arcs relative to the base after which entries are excluded
- See Also:
UNBOUNDED_MAX
-
getRefinement
ExprNode getRefinement()
A subtree refinement represents a non-contiguous selection of entries using a limited filter expression where attribute assertions are based on the objectClass of the entries.- Returns:
- a refinement tree or null if one does not exist for this subtree specification
-
toString
void toString(StringBuilder buffer)
Converts this item into its string representation as stored in directory.- Parameters:
buffer
- the string buffer
-
-