Interface StoreQuery


  • public interface StoreQuery
    An immutable query that a Store can execute
    Author:
    teck
    • Method Detail

      • getCriteria

        Criteria getCriteria()
        Get the search criteria
        Returns:
        the search criteria
      • requestsKeys

        boolean requestsKeys()
        Are keys requested?
        Returns:
        true if keys requested
      • requestsValues

        boolean requestsValues()
        Are values requested?
        Returns:
        true if values requested
      • getCache

        Cache getCache()
        Get the cache this query originated from
        Returns:
        cache
      • getTargets

        @Deprecated
        java.lang.String[] getTargets()
        Deprecated.
        This needs to be cleaned up. We don't want to introduce any kind of ordering here, as there simply is none.

        Meanwhile, this is used to keep the ordering on BMQL created Queries. Yet, QueryManagerBuilder, which creates the QueryManager, doesn't let us qualify the Query type further to add this "ordering" concept of "targets" to it.
        And this "ordering" shouldn't become part of the QueryManager API neither as each implementation might require something different.

        Returns:
        select target names, searchAttribute or aggregator
        See Also:
        API-43
      • targets

        @Deprecated
        void targets​(java.lang.String[] targets)
        Deprecated.
        Set the names of the select targets. These will either be searchAttribute names or aggregator display names, eg. 'ave(salary)' This is used by BMQL to form the return results.
        See Also:
        getTargets()
      • requestedAttributes

        java.util.Set<Attribute<?>> requestedAttributes()
        Get the set of attributes requested by this query
        Returns:
        the requested attributes (if any)
      • groupByAttributes

        java.util.Set<Attribute<?>> groupByAttributes()
        Get the set of attributes to group result set by
        Returns:
        attributes to group by (if any)
        Since:
        2.6
      • getOrdering

        java.util.List<StoreQuery.Ordering> getOrdering()
        Get the requested search orderings
        Returns:
        the request sort orders (if any)
      • maxResults

        int maxResults()
        Get the maximum number of results to return
        Returns:
        max results. A negative number means unlimited results
      • getAggregators

        java.util.List<Aggregator> getAggregators()
        Get the requested aggregators
        Returns:
        the include aggregators (if any)
      • getExecutionHints

        ExecutionHints getExecutionHints()
        Get execution hints for this query
        Returns:
        null if no hints were provided
      • getAggregatorInstances

        java.util.List<AggregatorInstance<?>> getAggregatorInstances()
        Get the requested aggregator instances
        Returns:
        the include aggregator instances (if any)