Package org.ldaptive.control
Class MatchedValuesRequestControl
- java.lang.Object
-
- org.ldaptive.control.AbstractControl
-
- org.ldaptive.control.MatchedValuesRequestControl
-
- All Implemented Interfaces:
Control,RequestControl
public class MatchedValuesRequestControl extends AbstractControl implements RequestControl
Request control for limiting the attribute values returned by a search request. See https://tools.ietf.org/html/rfc3876. Control is defined as:ValuesReturnFilter ::= SEQUENCE OF SimpleFilterItem SimpleFilterItem ::= CHOICE { equalityMatch [3] AttributeValueAssertion, substrings [4] SubstringFilter, greaterOrEqual [5] AttributeValueAssertion, lessOrEqual [6] AttributeValueAssertion, present [7] AttributeDescription, approxMatch [8] AttributeValueAssertion, extensibleMatch [9] SimpleMatchingAssertion } SimpleMatchingAssertion ::= SEQUENCE { matchingRule [1] MatchingRuleId OPTIONAL, type [2] AttributeDescription OPTIONAL, --- at least one of the above must be present matchValue [3] AssertionValue}
-
-
Field Summary
Fields Modifier and Type Field Description private static intHASH_CODE_SEEDhash code seed.private Filter[]matchedValuesFilterslist of matched values filters.static StringOIDOID of this control.-
Fields inherited from class org.ldaptive.control.AbstractControl
logger
-
-
Constructor Summary
Constructors Constructor Description MatchedValuesRequestControl()Default constructor.MatchedValuesRequestControl(String... filters)Creates a new matched values request control.MatchedValuesRequestControl(String[] filters, boolean critical)Creates a new matched values request control.MatchedValuesRequestControl(Filter... filters)Creates a new matched values request control.MatchedValuesRequestControl(Filter[] filters, boolean critical)Creates a new matched values request control.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]encode()Provides the BER encoding of this control.booleanequals(Object o)Filter[]getMatchedValuesFilters()Returns the filters to use for matching values.inthashCode()Returns the hash code for this object.booleanhasValue()Returns whether the control has a value associated with it.voidsetMatchedValuesFilters(String... filters)Sets the filters to use for matching values.voidsetMatchedValuesFilters(Filter... filters)Sets the filters to use for matching values.StringtoString()private voidvalidateFilter(Filter filter)Throws if the supplied filter is not a valid type for the matched values request control.-
Methods inherited from class org.ldaptive.control.AbstractControl
getCriticality, getOID
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.ldaptive.control.Control
getCriticality, getOID
-
-
-
-
Field Detail
-
OID
public static final String OID
OID of this control.- See Also:
- Constant Field Values
-
HASH_CODE_SEED
private static final int HASH_CODE_SEED
hash code seed.- See Also:
- Constant Field Values
-
matchedValuesFilters
private Filter[] matchedValuesFilters
list of matched values filters.
-
-
Constructor Detail
-
MatchedValuesRequestControl
public MatchedValuesRequestControl()
Default constructor.
-
MatchedValuesRequestControl
public MatchedValuesRequestControl(String... filters)
Creates a new matched values request control.- Parameters:
filters- to use for value matching
-
MatchedValuesRequestControl
public MatchedValuesRequestControl(String[] filters, boolean critical)
Creates a new matched values request control.- Parameters:
filters- to use for value matchingcritical- whether this control is critical
-
MatchedValuesRequestControl
public MatchedValuesRequestControl(Filter... filters)
Creates a new matched values request control.- Parameters:
filters- to use for value matching
-
MatchedValuesRequestControl
public MatchedValuesRequestControl(Filter[] filters, boolean critical)
Creates a new matched values request control.- Parameters:
filters- to use for value matchingcritical- whether this control is critical
-
-
Method Detail
-
hasValue
public boolean hasValue()
Description copied from interface:RequestControlReturns whether the control has a value associated with it.- Specified by:
hasValuein interfaceRequestControl- Returns:
- whether the control has a value
-
getMatchedValuesFilters
public Filter[] getMatchedValuesFilters()
Returns the filters to use for matching values.- Returns:
- matched values filters
-
setMatchedValuesFilters
public void setMatchedValuesFilters(String... filters)
Sets the filters to use for matching values.- Parameters:
filters- for matching values- Throws:
IllegalArgumentException- if the filter cannot be parsed or is not allowed
-
setMatchedValuesFilters
public void setMatchedValuesFilters(Filter... filters)
Sets the filters to use for matching values.- Parameters:
filters- for matching values- Throws:
IllegalArgumentException- if the filter is not allowed
-
validateFilter
private void validateFilter(Filter filter)
Throws if the supplied filter is not a valid type for the matched values request control.- Parameters:
filter- to validate- Throws:
IllegalArgumentException- if the filter is null or not a valid type
-
equals
public boolean equals(Object o)
- Overrides:
equalsin classAbstractControl
-
hashCode
public int hashCode()
Description copied from class:AbstractControlReturns the hash code for this object.- Specified by:
hashCodein classAbstractControl- Returns:
- hash code
-
toString
public String toString()
- Overrides:
toStringin classAbstractControl
-
encode
public byte[] encode()
Description copied from interface:RequestControlProvides the BER encoding of this control.- Specified by:
encodein interfaceRequestControl- Returns:
- BER encoded request control
-
-