|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.unboundid.ldap.sdk.unboundidds.jsonfilter.JSONObjectFilter
com.unboundid.ldap.sdk.unboundidds.jsonfilter.ContainsFieldJSONObjectFilter
@Mutable @ThreadSafety(level=NOT_THREADSAFE) public final class ContainsFieldJSONObjectFilter
NOTE: This class is part of the Commercial Edition of the UnboundID LDAP SDK for Java. It is not available for use in applications that include only the Standard Edition of the LDAP SDK, and is not supported for use in conjunction with non-UnboundID products.This class provides an implementation of a JSON object filter that can be used to identify JSON objects containing a specified field, optionally restricting it by the data type of the value.
field
-- A field path specifier for the JSON field for which to
make the determination. This may be either a single string or an
array of strings as described in the "Targeting Fields in JSON Objects"
section of the class-level documentation for JSONObjectFilter
.
expectedType
-- Specifies the expected data type for the value of
the target field. If this is not specified, then any data type will be
permitted. If this is specified, then the filter will only match a JSON
object that contains the specified fieldName
if its value has the
expected data type. The value of the expectedType
field must be
either a single string or an array of strings, and the only values
allowed will be:
boolean
-- Indicates that the value may be a Boolean value of
true
or false
.
empty-array
-- Indicates that the value may be an empty
array.
non-empty-array
-- Indicates that the value may be an array
that contains at least one element. There will not be any
constraints placed on the values inside of the array.
null
-- Indicates that the value may be null
.
number
-- Indicates that the value may be a number.
object
-- Indicates that the value may be a JSON object.
string
-- Indicates that the value may be a string.
{ "filterType" : "containsField", "field" : "department" }The above filter can be created with the code:
ContainsFieldJSONObjectFilter filter = new ContainsFieldJSONObjectFilter("department");
true
or false
.
{ "filterType" : "containsField", "field" : [ "first", "second" ], "expectedType" : "boolean" }The above filter can be created with the code:
ContainsFieldJSONObjectFilter filter = new ContainsFieldJSONObjectFilter( Arrays.asList("first", "second"), EnumSet.of(ExpectedValueType.BOOLEAN));
Field Summary | |
---|---|
static java.lang.String |
FIELD_EXPECTED_TYPE
The name of the JSON field that is used to specify the expected data type for the target field. |
static java.lang.String |
FIELD_FIELD_PATH
The name of the JSON field that is used to specify the field in the target JSON object for which to make the determination. |
static java.lang.String |
FILTER_TYPE
The value that should be used for the filterType element of the JSON object that represents a "contains field" filter. |
Fields inherited from class com.unboundid.ldap.sdk.unboundidds.jsonfilter.JSONObjectFilter |
---|
FIELD_FILTER_TYPE, JSON_OBJECT_FILTER_MATCHING_RULE_NAME, JSON_OBJECT_FILTER_MATCHING_RULE_OID |
Constructor Summary | |
---|---|
ContainsFieldJSONObjectFilter(java.util.List<java.lang.String> field)
Creates a new "contains field" filter that targets the specified field. |
|
ContainsFieldJSONObjectFilter(java.lang.String... field)
Creates a new "contains field" filter that targets the specified field. |
Method Summary | |
---|---|
protected ContainsFieldJSONObjectFilter |
decodeFilter(JSONObject filterObject)
Decodes the provided JSON object as a filter of this type. |
java.util.Set<ExpectedValueType> |
getExpectedType()
Retrieves the set of acceptable value types for the specified field. |
java.util.List<java.lang.String> |
getField()
Retrieves the field path specifier for this filter. |
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 |
setExpectedType(java.util.Collection<ExpectedValueType> expectedTypes)
Specifies the set of acceptable value types for the specified field. |
void |
setExpectedType(ExpectedValueType... expectedTypes)
Specifies the set of acceptable value types for the specified field. |
void |
setField(java.util.List<java.lang.String> field)
Sets the field path specifier for this filter. |
void |
setField(java.lang.String... field)
Sets the field path specifier for this filter. |
JSONObject |
toJSONObject()
Retrieves a JSON object that represents this filter. |
Methods inherited from class com.unboundid.ldap.sdk.unboundidds.jsonfilter.JSONObjectFilter |
---|
decode, equals, getBoolean, getFilters, getString, getStrings, getValues, hashCode, registerFilterType, toLDAPFilter, toString, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String FILTER_TYPE
public static final java.lang.String FIELD_FIELD_PATH
public static final java.lang.String FIELD_EXPECTED_TYPE
Constructor Detail |
---|
public ContainsFieldJSONObjectFilter(java.lang.String... field)
field
- The field path specifier for this filter. It must not be
null
or empty. See the class-level documentation
for the JSONObjectFilter
class for information about
field path specifiers.public ContainsFieldJSONObjectFilter(java.util.List<java.lang.String> field)
field
- The field path specifier for this filter. It must not be
null
or empty. See the class-level documentation
for the JSONObjectFilter
class for information about
field path specifiers.Method Detail |
---|
public java.util.List<java.lang.String> getField()
public void setField(java.lang.String... field)
field
- The field path specifier for this filter. It must not be
null
or empty. See the class-level documentation
for the JSONObjectFilter
class for information about
field path specifiers.public void setField(java.util.List<java.lang.String> field)
field
- The field path specifier for this filter. It must not be
null
or empty. See the class-level documentation
for the JSONObjectFilter
class for information about
field path specifiers.public java.util.Set<ExpectedValueType> getExpectedType()
public void setExpectedType(ExpectedValueType... expectedTypes)
expectedTypes
- The set of acceptable value types for the specified
field. It may be null
or empty if the field
may have a value of any type.public void setExpectedType(java.util.Collection<ExpectedValueType> expectedTypes)
expectedTypes
- The set of acceptable value types for the specified
field. It may be null
or empty if the field
may have a value of any type.public java.lang.String getFilterType()
filterType
field for
this filter.
getFilterType
in class JSONObjectFilter
filterType
field for
this filter.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.protected java.util.Set<java.lang.String> getOptionalFieldNames()
getOptionalFieldNames
in class JSONObjectFilter
public boolean matchesJSONObject(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.public JSONObject toJSONObject()
toJSONObject
in class JSONObjectFilter
protected ContainsFieldJSONObjectFilter decodeFilter(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.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |