Class GetUserResourceLimitsResponseControl
- java.lang.Object
-
- com.unboundid.ldap.sdk.Control
-
- com.unboundid.ldap.sdk.unboundidds.controls.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 befalse
. 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, ... }
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
GET_USER_RESOURCE_LIMITS_RESPONSE_OID
The OID (1.3.6.1.4.1.30221.2.5.26) for the get user resource limits response control.
-
Constructor Summary
Constructors Constructor Description GetUserResourceLimitsResponseControl(java.lang.Long sizeLimit, java.lang.Long timeLimitSeconds, java.lang.Long idleTimeLimitSeconds, java.lang.Long lookthroughLimit, java.lang.String equivalentAuthzUserDN, java.lang.String clientConnectionPolicyName)
Creates a new get user resource limits response control with the provided information.GetUserResourceLimitsResponseControl(java.lang.Long sizeLimit, java.lang.Long timeLimitSeconds, java.lang.Long idleTimeLimitSeconds, java.lang.Long lookthroughLimit, java.lang.String equivalentAuthzUserDN, java.lang.String clientConnectionPolicyName, java.util.List<java.lang.String> groupDNs, java.util.List<java.lang.String> privilegeNames, java.util.List<Attribute> otherAttributes)
Creates a new get user resource limits response control with the provided information.GetUserResourceLimitsResponseControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
Creates a new get user resource limits response control decoded from the given generic control contents.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description GetUserResourceLimitsResponseControl
decodeControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
Creates a new instance of this decodeable control from the provided information.static GetUserResourceLimitsResponseControl
decodeJSONControl(JSONObject controlObject, boolean strict)
Attempts to decode the provided object as a JSON representation of a get user resource limits response control.static GetUserResourceLimitsResponseControl
get(BindResult result)
Extracts a get user resource limits response control from the provided result.java.lang.String
getClientConnectionPolicyName()
Retrieves the name of the client connection policy that has been assigned to the user, if available.java.lang.String
getControlName()
Retrieves the user-friendly name for this control, if available.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.java.util.List<java.lang.String>
getGroupDNs()
Retrieves the DNs of any groups in which the user is a member.java.lang.Long
getIdleTimeLimitSeconds()
Retrieves the custom idle time limit for the user in seconds, if available.java.lang.Long
getLookthroughLimit()
Retrieves the custom lookthrough limit for the user, if available.Attribute
getOtherAttribute(java.lang.String name)
Retrieves the "other" attribute with the specified name.java.util.List<Attribute>
getOtherAttributes()
Retrieves a list containing additional attributes from the user's entry.java.util.List<java.lang.String>
getPrivilegeNames()
Retrieves the names of any privileges assigned to the user.java.lang.Long
getSizeLimit()
Retrieves the custom size limit for the user, if available.java.lang.Long
getTimeLimitSeconds()
Retrieves the custom time limit for the user in seconds, if available.JSONObject
toJSONControl()
Retrieves a representation of this get user resource limits response control as a JSON object.void
toString(java.lang.StringBuilder buffer)
Appends a string representation of this LDAP control to the provided buffer.-
Methods inherited from class com.unboundid.ldap.sdk.Control
decode, decode, decodeControls, decodeJSONControl, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, registerDecodeableControl, toString, writeTo
-
-
-
-
Field Detail
-
GET_USER_RESOURCE_LIMITS_RESPONSE_OID
@NotNull public static final java.lang.String GET_USER_RESOURCE_LIMITS_RESPONSE_OID
The OID (1.3.6.1.4.1.30221.2.5.26) for the get user resource limits response control.- See Also:
- Constant Field Values
-
-
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 benull
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 benull
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 benull
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 benull
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, ornull
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, ornull
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 benull
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 benull
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 benull
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 benull
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, ornull
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, ornull
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 benull
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 benull
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 benull
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 benull
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
-
decodeControl
@NotNull public GetUserResourceLimitsResponseControl decodeControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
Creates a new instance of this decodeable control from the provided information.- Specified by:
decodeControl
in interfaceDecodeableControl
- Parameters:
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked critical.value
- The encoded value for the control. This may benull
if no value was provided.- Returns:
- The decoded representation of this control.
- Throws:
LDAPException
- If the provided information cannot be decoded as a valid instance of this decodeable control.
-
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<Attribute> getOtherAttributes()
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 benull
.- 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 classControl
- Returns:
- The user-friendly name for this control, or the OID if no user-friendly name is available.
-
toJSONControl
@NotNull public JSONObject toJSONControl()
Retrieves a representation of this get user resource limits response control as a JSON object. The JSON object uses the following fields:-
oid
-- A mandatory string field whose value is the object identifier for this control. For the get user resource limits response control, the OID is "1.3.6.1.4.1.30221.2.5.26". -
control-name
-- An optional string field whose value is a human-readable name for this control. This field is only intended for descriptive purposes, and when decoding a control, theoid
field should be used to identify the type of control. -
criticality
-- A mandatory Boolean field used to indicate whether this control is considered critical. -
value-base64
-- An optional string field whose value is a base64-encoded representation of the raw value for this get user resource limits response control. Exactly one of thevalue-base64
andvalue-json
fields must be present. -
value-json
-- An optional JSON object field whose value is a user-friendly representation of the value for this get user resource limits response control. Exactly one of thevalue-base64
andvalue-json
fields must be present, and if thevalue-json
field is used, then it will use the following fields:-
size-limit
-- An optional integer field whose value is the effective search size limit for the user. -
time-limit-seconds
-- An optional integer field whose value is the effective search time limit (in seconds) for the user. -
idle-time-limit-seconds
-- An optional integer field whose value is the effective idle time limit (in seconds) for the user. -
lookthrough-limit
-- An optional integer field whose value is the maximum number of entries that the server may examine in the course of processing any single search operation for the user. -
equivalent-authorization-user-dn
-- An optional string field whose value is the DN of a user entry that is meant to have roughly equivalent access control rights to the authenticated user. -
client-connection-policy-name
-- An optional string field whose value is the name of the client connection policy that has been assigned to the client connection. -
group-dns
-- An optional array field whose values are strings that represent the DNs of the groups in which the user is a member. -
privilege-names
-- An optional array field whose values are strings that represent the names of the privileges assigned to the user. -
other attributes
-- An optional array field whose values are JSON objects that represent additional attributes of note from the user's entry. Each of these JSON objects will include the following fields:-
name
-- A string field whose value is the name of the additional attribute. -
values
-- An array field whose values are strings that represent the values for the attribute.
-
-
- Overrides:
toJSONControl
in classControl
- Returns:
- A JSON object that contains a representation of this control.
-
-
decodeJSONControl
@NotNull public static GetUserResourceLimitsResponseControl decodeJSONControl(@NotNull JSONObject controlObject, boolean strict) throws LDAPException
Attempts to decode the provided object as a JSON representation of a get user resource limits response control.- Parameters:
controlObject
- The JSON object to be decoded. It must not benull
.strict
- Indicates whether to use strict mode when decoding the provided JSON object. If this istrue
, then this method will throw an exception if the provided JSON object contains any unrecognized fields. If this isfalse
, then unrecognized fields will be ignored.- Returns:
- The get user resource limits response control that was decoded from the provided JSON object.
- Throws:
LDAPException
- If the provided JSON object cannot be parsed as a valid get user resource limits response control.
-
-