Class SearchExpression
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<SearchExpression.Builder,
SearchExpression>
A multi-expression that searches for the specified resource or resources in a search. All resource objects that
satisfy the expression's condition are included in the search results. You must specify at least one subexpression,
filter, or nested filter. A SearchExpression
can contain up to twenty elements.
A SearchExpression
contains the following components:
-
A list of
Filter
objects. Each filter defines a simple Boolean expression comprised of a resource property name, Boolean operator, and value. -
A list of
NestedFilter
objects. Each nested filter defines a list of Boolean expressions using a list of resource properties. A nested filter is satisfied if a single object in the list satisfies all Boolean expressions. -
A list of
SearchExpression
objects. A search expression object can be nested in a list of search expression objects. -
A Boolean operator:
And
orOr
.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic SearchExpression.Builder
builder()
final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.filters()
A list of filter objects.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final boolean
For responses, this returns true if the service returned a value for the Filters property.final int
hashCode()
final boolean
For responses, this returns true if the service returned a value for the NestedFilters property.final boolean
For responses, this returns true if the service returned a value for the SubExpressions property.final List
<NestedFilters> A list of nested filter objects.final BooleanOperator
operator()
A Boolean operator used to evaluate the search expression.final String
A Boolean operator used to evaluate the search expression.static Class
<? extends SearchExpression.Builder> final List
<SearchExpression> A list of search expression objects.Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
hasFilters
public final boolean hasFilters()For responses, this returns true if the service returned a value for the Filters property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
filters
A list of filter objects.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasFilters()
method.- Returns:
- A list of filter objects.
-
hasNestedFilters
public final boolean hasNestedFilters()For responses, this returns true if the service returned a value for the NestedFilters property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
nestedFilters
A list of nested filter objects.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasNestedFilters()
method.- Returns:
- A list of nested filter objects.
-
hasSubExpressions
public final boolean hasSubExpressions()For responses, this returns true if the service returned a value for the SubExpressions property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
subExpressions
A list of search expression objects.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasSubExpressions()
method.- Returns:
- A list of search expression objects.
-
operator
A Boolean operator used to evaluate the search expression. If you want every conditional statement in all lists to be satisfied for the entire search expression to be true, specify
And
. If only a single conditional statement needs to be true for the entire search expression to be true, specifyOr
. The default value isAnd
.If the service returns an enum value that is not available in the current SDK version,
operator
will returnBooleanOperator.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromoperatorAsString()
.- Returns:
- A Boolean operator used to evaluate the search expression. If you want every conditional statement in all
lists to be satisfied for the entire search expression to be true, specify
And
. If only a single conditional statement needs to be true for the entire search expression to be true, specifyOr
. The default value isAnd
. - See Also:
-
operatorAsString
A Boolean operator used to evaluate the search expression. If you want every conditional statement in all lists to be satisfied for the entire search expression to be true, specify
And
. If only a single conditional statement needs to be true for the entire search expression to be true, specifyOr
. The default value isAnd
.If the service returns an enum value that is not available in the current SDK version,
operator
will returnBooleanOperator.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromoperatorAsString()
.- Returns:
- A Boolean operator used to evaluate the search expression. If you want every conditional statement in all
lists to be satisfied for the entire search expression to be true, specify
And
. If only a single conditional statement needs to be true for the entire search expression to be true, specifyOr
. The default value isAnd
. - See Also:
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<SearchExpression.Builder,
SearchExpression> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode() -
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value. -
getValueForField
-
sdkFields
-