@Mutable @ThreadSafety(level=NOT_THREADSAFE) public final class ANDJSONObjectFilter extends JSONObjectFilter
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.
andFilters
-- An array of JSON objects, each of which is a valid
JSON object filter. Each of these filters must match a JSON object in
order for the AND filter to match. If this is an empty array, then the
filter will match any object.
{ "filterType" : "and", "andFilters" : [ ] }The above filter can be created with the code:
ANDJSONObjectFilter filter = new ANDJSONObjectFilter();
{ "filterType" : "and", "andFilters" : [ { "filterType" : "equals", "field" : "firstName", "value" : "John" }, { "filterType" : "equals", "field" : "lastName", "value" : "Doe" } ] }The above filter can be created with the code:
ANDJSONObjectFilter filter = new ANDJSONObjectFilter( new EqualsJSONObjectFilter("firstName", "John"), new EqualsJSONObjectFilter("firstName", "Doe"));
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
FIELD_AND_FILTERS
The name of the JSON field that is used to specify the set of filters to
include in this AND filter.
|
static java.lang.String |
FILTER_TYPE
The value that should be used for the filterType element of the JSON object
that represents an "AND" filter.
|
FIELD_FILTER_TYPE, JSON_OBJECT_FILTER_MATCHING_RULE_NAME, JSON_OBJECT_FILTER_MATCHING_RULE_OID
Constructor and Description |
---|
ANDJSONObjectFilter(java.util.Collection<JSONObjectFilter> andFilters)
Creates a new instance of this filter type with the provided information.
|
ANDJSONObjectFilter(JSONObjectFilter... andFilters)
Creates a new instance of this filter type with the provided information.
|
Modifier and Type | Method and Description |
---|---|
protected ANDJSONObjectFilter |
decodeFilter(JSONObject filterObject)
Decodes the provided JSON object as a filter of this type.
|
java.util.List<JSONObjectFilter> |
getANDFilters()
Retrieves the set of filters that must each match a JSON object in order
for this AND filter to match.
|
java.lang.String |
getFilterType()
Retrieves the value that must appear in the
filterType field for
this filter. |
protected java.util.Set<java.lang.String> |
getOptionalFieldNames()
Retrieves the names of all fields that may optionally be present but are
not required in the JSON object representing a filter of this type.
|
protected java.util.Set<java.lang.String> |
getRequiredFieldNames()
Retrieves the names of all fields (excluding the
filterType field)
that must be present in the JSON object representing a filter of this type. |
boolean |
matchesJSONObject(JSONObject o)
Indicates whether this JSON object filter matches the provided JSON object.
|
void |
setANDFilters(java.util.Collection<JSONObjectFilter> andFilters)
Specifies the set of AND filters that must each match a JSON object in
order for this AND filter to match.
|
void |
setANDFilters(JSONObjectFilter... andFilters)
Specifies the set of AND filters that must each match a JSON object in
order for this AND filter to match.
|
JSONObject |
toJSONObject()
Retrieves a JSON object that represents this filter.
|
decode, equals, getBoolean, getFilters, getString, getStrings, getValues, hashCode, registerFilterType, toLDAPFilter, toString, toString
@NotNull public static final java.lang.String FILTER_TYPE
@NotNull public static final java.lang.String FIELD_AND_FILTERS
public ANDJSONObjectFilter(@Nullable JSONObjectFilter... andFilters)
andFilters
- The set of filters that must each match a JSON object
in order for this AND filter to match. If this is
null
or empty, then this AND filter will match
any JSON object.public ANDJSONObjectFilter(@Nullable java.util.Collection<JSONObjectFilter> andFilters)
andFilters
- The set of filters that must each match a JSON object
in order for this AND filter to match. If this is
null
or empty, then this AND filter will match
any JSON object.@NotNull public java.util.List<JSONObjectFilter> getANDFilters()
public void setANDFilters(@Nullable JSONObjectFilter... andFilters)
andFilters
- The set of filters that must each match a JSON object
in order for this AND filter to match. If this is
null
or empty, then this AND filter will match
any JSON object.public void setANDFilters(@Nullable java.util.Collection<JSONObjectFilter> andFilters)
andFilters
- The set of filters that must each match a JSON object
in order for this AND filter to match. If this is
null
or empty, then this AND filter will match
any JSON object.@NotNull public java.lang.String getFilterType()
filterType
field for
this filter.getFilterType
in class JSONObjectFilter
filterType
field for
this filter.@NotNull protected java.util.Set<java.lang.String> getRequiredFieldNames()
filterType
field)
that must be present in the JSON object representing a filter of this type.getRequiredFieldNames
in class JSONObjectFilter
filterType
field)
that must be present in the JSON object representing a filter of
this type.@NotNull protected java.util.Set<java.lang.String> getOptionalFieldNames()
getOptionalFieldNames
in class JSONObjectFilter
public boolean matchesJSONObject(@NotNull JSONObject o)
matchesJSONObject
in class JSONObjectFilter
o
- The JSON object for which to make the determination.true
if this JSON object filter matches the provided JSON
object, or false
if not.@NotNull public JSONObject toJSONObject()
toJSONObject
in class JSONObjectFilter
@NotNull protected ANDJSONObjectFilter decodeFilter(@NotNull JSONObject filterObject) throws JSONException
decodeFilter
in class JSONObjectFilter
filterObject
- The JSON object to be decoded. The caller will have already
validated that all required fields are present, and that it
does not have any fields that are neither required nor optional.JSONException
- If the provided JSON object cannot be decoded as a
valid filter of this type.