Class JoinRequestValue

  • All Implemented Interfaces:
    java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class JoinRequestValue
    extends java.lang.Object
    implements java.io.Serializable
    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.
    NOTE: This class, and other classes within the com.unboundid.ldap.sdk.unboundidds package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.

    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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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 client-requested 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 client-requested 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. Note that the server will impose a maximum size limit of 1000 entries, so size limit values greater than 1000 will be limited to 1000.
        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 client-requested size limit for this join request value. Note that the server will impose a maximum size limit of 1000 entries, so if the client-requested size limit is greater than 1000, the server will limit it to 1000 entries.
        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.