com.unboundid.ldap.sdk.unboundidds.controls
Class JoinRequestValue

java.lang.Object
  extended by com.unboundid.ldap.sdk.unboundidds.controls.JoinRequestValue
All Implemented Interfaces:
java.io.Serializable

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class JoinRequestValue
extends java.lang.Object
implements java.io.Serializable

NOTE: This class is part of the Commercial Edition of the UnboundID LDAP SDK for Java. It is not available for use in applications that include only the Standard Edition of the LDAP SDK, and is not supported for use in conjunction with non-UnboundID products.
This class contains a data structure which provides information about the value of an LDAP join request control, which may or may not include a nested join. See the class-level documentation for the JoinRequestControl class for additional information and an example demonstrating its use.

The value of the join request control is encoded as follows:
   LDAPJoin ::= SEQUENCE {
        joinRule         JoinRule,
        baseObject       CHOICE {
             useSearchBaseDN      [0] NULL,
             useSourceEntryDN     [1] NULL,
             useCustomBaseDN      [2] LDAPDN,
             ... },
        scope            [0] ENUMERATED {
             baseObject             (0),
             singleLevel            (1),
             wholeSubtree           (2),
             subordinateSubtree     (3),
             ... } OPTIONAL,
        derefAliases     [1] ENUMERATED {
             neverDerefAliases       (0),
             derefInSearching        (1),
             derefFindingBaseObj     (2),
             derefAlways             (3),
             ... } OPTIONAL,
        sizeLimit        [2] INTEGER (0 .. maxInt) OPTIONAL,
        filter           [3] Filter OPTIONAL,
        attributes       [4] AttributeSelection OPTIONAL,
        requireMatch     [5] BOOLEAN DEFAULT FALSE,
        nestedJoin       [6] LDAPJoin OPTIONAL,
        ... }
 

See Also:
Serialized Form

Constructor Summary
JoinRequestValue(JoinRule joinRule, JoinBaseDN baseDN, SearchScope scope, DereferencePolicy derefPolicy, java.lang.Integer sizeLimit, Filter filter, java.lang.String[] attributes, boolean requireMatch, JoinRequestValue nestedJoin)
          Creates a new join request value with the provided information.
 
Method Summary
 java.lang.String[] getAttributes()
          Retrieves the set of requested attributes that should be included in joined entries.
 JoinBaseDN getBaseDN()
          Retrieves the join base DN for this join request value.
 DereferencePolicy getDerefPolicy()
          Retrieves the alias dereferencing policy for this join request value.
 Filter getFilter()
          Retrieves a filter with additional criteria that must match a target entry for it to be joined with a search result entry.
 JoinRule getJoinRule()
          Retrieves the join rule for this join request value.
 JoinRequestValue getNestedJoin()
          Retrieves the nested join for this join request value, if defined.
 SearchScope getScope()
          Retrieves the scope for this join request value.
 java.lang.Integer getSizeLimit()
          Retrieves the size limit for this join request value.
 boolean requireMatch()
          Indicates whether a search result entry will be required to be joined with at least one entry for that entry to be returned to the client.
 java.lang.String toString()
          Retrieves a string representation of this join request value.
 void toString(java.lang.StringBuilder buffer)
          Appends a string representation of this join request value to the provided buffer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JoinRequestValue

public JoinRequestValue(JoinRule joinRule,
                        JoinBaseDN baseDN,
                        SearchScope scope,
                        DereferencePolicy derefPolicy,
                        java.lang.Integer sizeLimit,
                        Filter filter,
                        java.lang.String[] attributes,
                        boolean requireMatch,
                        JoinRequestValue nestedJoin)
Creates a new join request value with the provided information.

Parameters:
joinRule - The join rule for this join request value. It must not be null.
baseDN - The base DN for this join request value. It must not be null.
scope - The scope for this join request value. It may be null if the scope from the associated search request should be used.
derefPolicy - The alias dereferencing policy for this join request value. It may be null if the dereference policy from the associated search request should be used.
sizeLimit - The maximum number of entries to allow when performing the join. It may be null if the size limit from the associated search request should be used.
filter - An additional filter which must match target entries for them to be included in the join. This may be null if no additional filter is required and the join rule should be the only criteria used when performing the join.
attributes - The set of attributes that the client wishes to be included in joined entries. It may be null or empty to indicate that all user attributes should be included. It may also contain special values like "1.1" to indicate that no attributes should be included, "*" to indicate that all user attributes should be included, "+" to indicate that all operational attributes should be included, or "@ocname" to indicate that all required and optional attributes associated with the "ocname" object class should be included.
requireMatch - Indicates whether a search result entry is required to be joined with at least one entry for it to be returned to the client.
nestedJoin - A set of join criteria that should be applied to entries joined with this join request value. It may be null if no nested join is needed.
Method Detail

getJoinRule

public JoinRule getJoinRule()
Retrieves the join rule for this join request value.

Returns:
The join rule for this join request value.

getBaseDN

public JoinBaseDN getBaseDN()
Retrieves the join base DN for this join request value.

Returns:
The join base DN for this join request value.

getScope

public SearchScope getScope()
Retrieves the scope for this join request value.

Returns:
The scope for this join request value, or null if the scope from the associated search request should be used.

getDerefPolicy

public DereferencePolicy getDerefPolicy()
Retrieves the alias dereferencing policy for this join request value.

Returns:
The alias dereferencing policy for this join request value, or null if the policy from the associated search request should be used.

getSizeLimit

public java.lang.Integer getSizeLimit()
Retrieves the size limit for this join request value.

Returns:
The size limit for this join request value, or null if the size limit from the associated search request should be used.

getFilter

public Filter getFilter()
Retrieves a filter with additional criteria that must match a target entry for it to be joined with a search result entry.

Returns:
A filter with additional criteria that must match a target entry for it to be joined with a search result entry, or null if no additional filter is needed.

getAttributes

public java.lang.String[] getAttributes()
Retrieves the set of requested attributes that should be included in joined entries.

Returns:
The set of requested attributes that should be included in joined entries, or an empty array if all user attributes should be requested.

requireMatch

public boolean requireMatch()
Indicates whether a search result entry will be required to be joined with at least one entry for that entry to be returned to the client.

Returns:
true if a search result entry must be joined with at least one other entry for it to be returned to the client, or false if a search result entry may be returned even if it is not joined with any other entries.

getNestedJoin

public JoinRequestValue getNestedJoin()
Retrieves the nested join for this join request value, if defined.

Returns:
The nested join for this join request value, or null if there is no nested join for this join request value.

toString

public java.lang.String toString()
Retrieves a string representation of this join request value.

Overrides:
toString in class java.lang.Object
Returns:
A string representation of this join request value.

toString

public void toString(java.lang.StringBuilder buffer)
Appends a string representation of this join request value to the provided buffer.

Parameters:
buffer - The buffer to which the information should be appended.