ehcache

net.sf.ehcache.store
Interface StoreQuery


public interface StoreQuery

An immutable query that a Store can execute

Author:
teck

Nested Class Summary
static interface StoreQuery.Ordering
          An attribute / direction ordering pair
 
Method Summary
 List<AggregatorInstance<?>> getAggregatorInstances()
          Get the requested aggregator instances
 List<Aggregator> getAggregators()
          Get the requested aggregators
 Cache getCache()
          Get the cache this query originated from
 Criteria getCriteria()
          Get the search criteria
 ExecutionHints getExecutionHints()
          Get execution hints for this query
 List<StoreQuery.Ordering> getOrdering()
          Get the requested search orderings
 String[] getTargets()
          Deprecated.  
 Set<Attribute<?>> groupByAttributes()
          Get the set of attributes to group result set by
 int maxResults()
          Get the maximum number of results to return
 Set<Attribute<?>> requestedAttributes()
          Get the set of attributes requested by this query
 boolean requestsKeys()
          Are keys requested?
 boolean requestsValues()
          Are values requested?
 void targets(String[] targets)
          Deprecated.  
 

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
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(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

Set<Attribute<?>> requestedAttributes()
Get the set of attributes requested by this query

Returns:
the requested attributes (if any)

groupByAttributes

Set<Attribute<?>> groupByAttributes()
Get the set of attributes to group result set by

Returns:
attributes to group by (if any)
Since:
2.6

getOrdering

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

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

List<AggregatorInstance<?>> getAggregatorInstances()
Get the requested aggregator instances

Returns:
the include aggregator instances (if any)

ehcache

Copyright 2001-2015, Terracotta, Inc.