Class Filter

java.lang.Object
com.aerospike.client.query.Filter

public final class Filter extends Object
Query filter definition. Currently, only one filter is allowed in a Statement, and must be on bin which has a secondary index defined.
  • Method Details

    • equal

      public static Filter equal(String name, long value, CTX... ctx)
      Create long equality filter for query.
      Parameters:
      name - bin name
      value - filter value
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • equal

      public static Filter equal(String name, String value, CTX... ctx)
      Create string equality filter for query.
      Parameters:
      name - bin name
      value - filter value
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • equal

      public static Filter equal(String name, byte[] value, CTX... ctx)
      Create blob equality filter for query. Requires server version 7.0+.
      Parameters:
      name - bin name
      value - filter value
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • contains

      public static Filter contains(String name, IndexCollectionType type, long value, CTX... ctx)
      Create contains number filter for query on collection index.
      Parameters:
      name - bin name
      type - index collection type
      value - filter value
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • contains

      public static Filter contains(String name, IndexCollectionType type, String value, CTX... ctx)
      Create contains string filter for query on collection index.
      Parameters:
      name - bin name
      type - index collection type
      value - filter value
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • contains

      public static Filter contains(String name, IndexCollectionType type, byte[] value, CTX... ctx)
      Create contains byte[] filter for query on collection index.
      Parameters:
      name - bin name
      type - index collection type
      value - filter value
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • range

      public static Filter range(String name, long begin, long end, CTX... ctx)
      Create range filter for query. Range arguments must be longs or integers which can be cast to longs. String ranges are not supported.
      Parameters:
      name - bin name
      begin - filter begin value inclusive
      end - filter end value inclusive
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • range

      public static Filter range(String name, IndexCollectionType type, long begin, long end, CTX... ctx)
      Create range filter for query on collection index. Range arguments must be longs or integers which can be cast to longs. String ranges are not supported.
      Parameters:
      name - bin name
      type - index collection type
      begin - filter begin value inclusive
      end - filter end value inclusive
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • geoWithinRegion

      public static Filter geoWithinRegion(String name, String region, CTX... ctx)
      Create geospatial "within region" filter for query.
      Parameters:
      name - bin name
      region - GeoJSON region
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • geoWithinRegion

      public static Filter geoWithinRegion(String name, IndexCollectionType type, String region, CTX... ctx)
      Create geospatial "within region" filter for query on collection index.
      Parameters:
      name - bin name
      type - index collection type
      region - GeoJSON region
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • geoWithinRadius

      public static Filter geoWithinRadius(String name, double lng, double lat, double radius, CTX... ctx)
      Create geospatial "within radius" filter for query.
      Parameters:
      name - bin name
      lng - longitude
      lat - latitude
      radius - radius (meters)
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • geoWithinRadius

      public static Filter geoWithinRadius(String name, IndexCollectionType type, double lng, double lat, double radius, CTX... ctx)
      Create geospatial "within radius" filter for query on collection index.
      Parameters:
      name - bin name
      type - index collection type
      lng - longitude
      lat - latitude
      radius - radius (meters)
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • geoContains

      public static Filter geoContains(String name, String point, CTX... ctx)
      Create geospatial "containing point" filter for query.
      Parameters:
      name - bin name
      point - GeoJSON point
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • geoContains

      public static Filter geoContains(String name, IndexCollectionType type, String point, CTX... ctx)
      Create geospatial "containing point" filter for query on collection index.
      Parameters:
      name - bin name
      type - index collection type
      point - GeoJSON point
      ctx - optional context for elements within a CDT
      Returns:
      filter instance
    • estimateSize

      public int estimateSize()
      Estimate filter's byte send when sending command to server. For internal use only.
    • write

      public int write(byte[] buf, int offset)
      Write filter to send command buffer. For internal use only.
    • getCollectionType

      public IndexCollectionType getCollectionType()
      Retrieve index collection type. For internal use only.
    • getName

      public String getName()
      Filter name. For internal use only.
    • getColType

      public IndexCollectionType getColType()
      Index collection type. For internal use only.
    • getBegin

      public Value getBegin()
      Filter begin value. For internal use only.
    • getEnd

      public Value getEnd()
      Filter begin value. For internal use only.
    • getValType

      public int getValType()
      Filter Value type. For internal use only.
    • getPackedCtx

      public byte[] getPackedCtx()
      Retrieve packed Context. For internal use only.
    • equals

      public boolean equals(Object obj)
      Check for Filter equality.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Generate Filter hashCode.
      Overrides:
      hashCode in class Object