Class GetUserResourceLimitsResponseControl

  • All Implemented Interfaces:
    DecodeableControl, java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class GetUserResourceLimitsResponseControl
    extends Control
    implements DecodeableControl
    This class provides a response control that may be included in the response to a successful bind operation in order to provide information about custom resource limits for the user, including size limit, time limit, idle time limit, lookthrough limit, equivalent authorization user DN, and client connection policy name.
    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 criticality for this control should be false. It must have a value with the following encoding:
       USER_RESOURCE_LIMITS_VALUE ::= SEQUENCE {
         sizeLimit                      [0] INTEGER OPTIONAL,
         timeLimitSeconds               [1] INTEGER OPTIONAL,
         idleTimeLimitSeconds           [2] INTEGER OPTIONAL,
         lookthroughLimit               [3] INTEGER OPTIONAL,
         equivalentAuthzUserDN          [4] LDAPDN OPTIONAL,
         clientConnectionPolicyName     [5] OCTET STRING OPTIONAL,
         groupDNs                       [6] SET OF OCTET STRING OPTIONAL,
         privilegeNames                 [7] SET OF OCTET STRING OPTIONAL,
         otherAttributes                [8] PartialAttributeList OPTIONAL,
         ... }
     
    See Also:
    GetUserResourceLimitsRequestControl, Serialized Form
    • Constructor Detail

      • GetUserResourceLimitsResponseControl

        public GetUserResourceLimitsResponseControl​(@Nullable
                                                    java.lang.Long sizeLimit,
                                                    @Nullable
                                                    java.lang.Long timeLimitSeconds,
                                                    @Nullable
                                                    java.lang.Long idleTimeLimitSeconds,
                                                    @Nullable
                                                    java.lang.Long lookthroughLimit,
                                                    @Nullable
                                                    java.lang.String equivalentAuthzUserDN,
                                                    @Nullable
                                                    java.lang.String clientConnectionPolicyName)
        Creates a new get user resource limits response control with the provided information.
        Parameters:
        sizeLimit - The custom size limit for the user. It may be less than or equal to zero if no size limit should be enforced for the user. It may be null if there is no custom size limit or it is not to be included in the control.
        timeLimitSeconds - The custom time limit for the user, in seconds. It may be less than or equal to zero if no time limit should be enforced for the user. It may be null if there is no custom time limit or it is not to be included in the control.
        idleTimeLimitSeconds - The custom idle time limit for the user, in seconds. It may be less than or equal to zero if no idle time limit should be enforced for the user. It may be null if there is no custom idle time limit or it is not to be included in the control.
        lookthroughLimit - The custom lookthrough limit for the user. It may be less than or equal to zero if no lookthrough limit should be enforced for the user. It may be null if there is no custom lookthrough limit for the user or it is not to be included in the control.
        equivalentAuthzUserDN - The DN of a user with equivalent authorization rights for use in servers in an entry-balancing environment in which the user's entry does not exist. It may be an empty string if the equivalent authorization should be anonymous, or null if there is no custom equivalent authorization user DN or it is not to be included in the control.
        clientConnectionPolicyName - The name of the client connection policy that has been assigned to the user, or null if the client connection policy name is not to be included in the control.
      • GetUserResourceLimitsResponseControl

        public GetUserResourceLimitsResponseControl​(@Nullable
                                                    java.lang.Long sizeLimit,
                                                    @Nullable
                                                    java.lang.Long timeLimitSeconds,
                                                    @Nullable
                                                    java.lang.Long idleTimeLimitSeconds,
                                                    @Nullable
                                                    java.lang.Long lookthroughLimit,
                                                    @Nullable
                                                    java.lang.String equivalentAuthzUserDN,
                                                    @Nullable
                                                    java.lang.String clientConnectionPolicyName,
                                                    @Nullable
                                                    java.util.List<java.lang.String> groupDNs,
                                                    @Nullable
                                                    java.util.List<java.lang.String> privilegeNames,
                                                    @Nullable
                                                    java.util.List<Attribute> otherAttributes)
        Creates a new get user resource limits response control with the provided information.
        Parameters:
        sizeLimit - The custom size limit for the user. It may be less than or equal to zero if no size limit should be enforced for the user. It may be null if there is no custom size limit or it is not to be included in the control.
        timeLimitSeconds - The custom time limit for the user, in seconds. It may be less than or equal to zero if no time limit should be enforced for the user. It may be null if there is no custom time limit or it is not to be included in the control.
        idleTimeLimitSeconds - The custom idle time limit for the user, in seconds. It may be less than or equal to zero if no idle time limit should be enforced for the user. It may be null if there is no custom idle time limit or it is not to be included in the control.
        lookthroughLimit - The custom lookthrough limit for the user. It may be less than or equal to zero if no lookthrough limit should be enforced for the user. It may be null if there is no custom lookthrough limit for the user or it is not to be included in the control.
        equivalentAuthzUserDN - The DN of a user with equivalent authorization rights for use in servers in an entry-balancing environment in which the user's entry does not exist. It may be an empty string if the equivalent authorization should be anonymous, or null if there is no custom equivalent authorization user DN or it is not to be included in the control.
        clientConnectionPolicyName - The name of the client connection policy that has been assigned to the user, or null if the client connection policy name is not to be included in the control.
        groupDNs - The DNs of the groups in which the user is a member. It may be null if group membership is not known, or empty if the user isn't a member of any groups.
        privilegeNames - The names of the privileges assigned to the user. It may be null if the privilege names are not known, or empty if the user doesn't have any privileges.
        otherAttributes - A set of additional attributes from the user's entry. It may be null or empty if no additional attributes are needed.
      • GetUserResourceLimitsResponseControl

        public GetUserResourceLimitsResponseControl​(@NotNull
                                                    java.lang.String oid,
                                                    boolean isCritical,
                                                    @Nullable
                                                    ASN1OctetString value)
                                             throws LDAPException
        Creates a new get user resource limits response control decoded from the given generic control contents.
        Parameters:
        oid - The OID for the control.
        isCritical - Indicates whether this control should be marked critical.
        value - The value for the control. It may be null if the control to decode does not have a value.
        Throws:
        LDAPException - If a problem occurs while attempting to decode the generic control as a get user resource limits response control.
    • Method Detail

      • get

        @Nullable
        public static GetUserResourceLimitsResponseControl get​(@NotNull
                                                               BindResult result)
                                                        throws LDAPException
        Extracts a get user resource limits response control from the provided result.
        Parameters:
        result - The bind result from which to retrieve the get user resource limits response control.
        Returns:
        The get user resource limits response control contained in the provided result, or null if the result did not contain a get user resource limits response control.
        Throws:
        LDAPException - If a problem is encountered while attempting to decode the get user resource limits response control contained in the provided result.
      • getSizeLimit

        @Nullable
        public java.lang.Long getSizeLimit()
        Retrieves the custom size limit for the user, if available.
        Returns:
        The custom size limit for the user, -1 if no size limit should be enforced for the user, or null if no custom size limit was included in the control.
      • getTimeLimitSeconds

        @Nullable
        public java.lang.Long getTimeLimitSeconds()
        Retrieves the custom time limit for the user in seconds, if available.
        Returns:
        The custom time limit for the user in seconds, -1 if no time limit should be enforced for the user, or null if no custom time limit was included in the control.
      • getIdleTimeLimitSeconds

        @Nullable
        public java.lang.Long getIdleTimeLimitSeconds()
        Retrieves the custom idle time limit for the user in seconds, if available.
        Returns:
        The custom idle time limit for the user in seconds, -1 if no idle time limit should be enforced for the user, or null if no custom idle time limit was included in the control.
      • getLookthroughLimit

        @Nullable
        public java.lang.Long getLookthroughLimit()
        Retrieves the custom lookthrough limit for the user, if available.
        Returns:
        The custom lookthrough limit for the user, -1 if no lookthrough limit should be enforced for the user, or null if no custom lookthrough limit was included in the control.
      • getEquivalentAuthzUserDN

        @Nullable
        public java.lang.String getEquivalentAuthzUserDN()
        Retrieves the equivalent authorization user DN, for use in servers in an entry-balancing environment in which the user's entry does not exist.
        Returns:
        The equivalent authorization user DN for the user, an empty string if the equivalent authorization is anonymous, or null if no equivalent authorization user DN was included in the control.
      • getClientConnectionPolicyName

        @Nullable
        public java.lang.String getClientConnectionPolicyName()
        Retrieves the name of the client connection policy that has been assigned to the user, if available.
        Returns:
        The name of the client connection policy that has been assigned to the user, or null if the client connection policy name was not included in the control.
      • getGroupDNs

        @Nullable
        public java.util.List<java.lang.String> getGroupDNs()
        Retrieves the DNs of any groups in which the user is a member.
        Returns:
        The DNs of any groups in which the user is a member, an empty list if the user is not a member of any groups, or null if the set of group DNs is not known.
      • getPrivilegeNames

        @Nullable
        public java.util.List<java.lang.String> getPrivilegeNames()
        Retrieves the names of any privileges assigned to the user.
        Returns:
        The names of any privileges assigned to the user, an empty list if the user is known to have no privileges, or null if the set of user privileges is not known.
      • getOtherAttributes

        @NotNull
        public java.util.List<AttributegetOtherAttributes()
        Retrieves a list containing additional attributes from the user's entry.
        Returns:
        A list containing additional attributes from the user's entry, or an empty list if no additional attributes were provided.
      • getOtherAttribute

        @Nullable
        public Attribute getOtherAttribute​(@NotNull
                                           java.lang.String name)
        Retrieves the "other" attribute with the specified name.
        Parameters:
        name - The name of the "other" attribute to retrieve. It must not be null.
        Returns:
        The "other" attribute with the specified name, or null if there is no such "other" attribute.
      • getControlName

        @NotNull
        public java.lang.String getControlName()
        Retrieves the user-friendly name for this control, if available. If no user-friendly name has been defined, then the OID will be returned.
        Overrides:
        getControlName in class Control
        Returns:
        The user-friendly name for this control, or the OID if no user-friendly name is available.
      • toString

        public void toString​(@NotNull
                             java.lang.StringBuilder buffer)
        Appends a string representation of this LDAP control to the provided buffer.
        Overrides:
        toString in class Control
        Parameters:
        buffer - The buffer to which to append the string representation of this buffer.