Class SearchExpression

  • All Implemented Interfaces:
    Serializable, SdkPojo, ToCopyableBuilder<SearchExpression.Builder,​SearchExpression>

    @Generated("software.amazon.awssdk:codegen")
    public final class SearchExpression
    extends Object
    implements SdkPojo, Serializable, 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 or Or.

    See Also:
    Serialized Form
    • Method Detail

      • 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 the isEmpty() 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

        public final List<Filter> 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 the isEmpty() 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

        public final List<NestedFilters> 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 the isEmpty() 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

        public final List<SearchExpression> 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

        public final BooleanOperator 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, specify Or. The default value is And.

        If the service returns an enum value that is not available in the current SDK version, operator will return BooleanOperator.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from operatorAsString().

        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, specify Or. The default value is And.
        See Also:
        BooleanOperator
      • operatorAsString

        public final String 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, specify Or. The default value is And.

        If the service returns an enum value that is not available in the current SDK version, operator will return BooleanOperator.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from operatorAsString().

        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, specify Or. The default value is And.
        See Also:
        BooleanOperator
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • toString

        public final String 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.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)