Interface ObjectFilter


public interface ObjectFilter
A filter that tests if an object matches a pre-defined condition and returns either the original instance or the projection, depending on how the filter was created. The projection is represented as an Object[]. If the given instance does not match the filter will just return null.
Since:
7.0
Author:
anistor@redhat.com
  • Method Details

    • getEntityTypeName

      String getEntityTypeName()
      The fully qualified entity type name accepted by this filter.
    • getProjection

      String[] getProjection()
      The array of '.' separated path names of the projected fields if any, or null otherwise.
    • getProjectionTypes

      Class<?>[] getProjectionTypes()
      The types of the projects paths (see getProjection() or null if there are no projections.
    • getParameterNames

      Set<String> getParameterNames()
      Returns the filter parameter names or an empty Set if there are no parameters.
    • getParameters

      Map<String,Object> getParameters()
      The parameter values. Please do not mutate this map. Obtain a new filter instance with new parameter values using withParameters(Map) if you have to.
    • withParameters

      ObjectFilter withParameters(Map<String,Object> namedParameters)
      Creates a new ObjectFilter instance based on the current one and the given parameter values.
    • getSortFields

      SortField[] getSortFields()
      The array of sort specifications if defined, or null otherwise.
    • getComparator

      Comparator<Comparable<?>[]> getComparator()
      The comparator corresponding to the 'order by' clause, if any.
      Returns:
      the Comparator or null if no 'order by' was specified (getSortFields() also returns null)
    • filter

      default ObjectFilter.FilterResult filter(Object value)
      Tests if an object matches the filter. A shorthand for filter(null, value, null).
      Parameters:
      value - the instance to test; this is never null
      Returns:
      a ObjectFilter.FilterResult if there is a match or null otherwise
    • filter

      ObjectFilter.FilterResult filter(Object key, Object value, Object metadata)
      Tests if an object matches the filter. The given key is optional (can be null) and will be returned to the user in the ObjectFilter.FilterResult.
      Parameters:
      key - the (optional) key; this can be null if it is of no interest
      value - the instance to test; this is never null
      metadata - the (optional) metadata; this can be null if it is of no interest
      Returns:
      a ObjectFilter.FilterResult if there is a match or null otherwise