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
Filterobjects. Each filter defines a simple Boolean expression comprised of a resource property name, Boolean operator, and value. -
A list of
NestedFilterobjects. 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
SearchExpressionobjects. A search expression object can be nested in a list of search expression objects. -
A Boolean operator:
AndorOr.
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic SearchExpression.Builderbuilder()final booleanfinal booleanequalsBySdkFields(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 booleanFor responses, this returns true if the service returned a value for the Filters property.final inthashCode()final booleanFor responses, this returns true if the service returned a value for the NestedFilters property.final booleanFor responses, this returns true if the service returned a value for the SubExpressions property.final List<NestedFilters> A list of nested filter objects.final BooleanOperatoroperator()A Boolean operator used to evaluate the search expression.final StringA 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 StringtoString()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,
operatorwill 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,
operatorwill 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:ToCopyableBuilderTake this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilderin interfaceToCopyableBuilder<SearchExpression.Builder,SearchExpression> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojoIndicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojoclass, and is generated based on a service model.If an
SdkPojoclass does not have any inherited fields,equalsBySdkFieldsandequalsare essentially the same.- Specified by:
equalsBySdkFieldsin 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
-
getValueForField
-
sdkFields
-