|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Query
Creates queries for performing cache searches.
Queries are created using our search DSL implemented using Java. A fluent interface provides a compact and yet easy-to-read representation. Fluent interfaces are implemented using method chaining. Static factory methods and imports are a great aid in creating a compact, yet readable DSL. Out API has the following features: Method Chaining - we returnthis
.
See http://www.infoq.com/articles/internal-dsls-java for a description of these conventions.
A query can be executed and then modified and re-executed. If end()
is called the query is made immutable.
Both Element keys and attributes of Element can be queried. Attributes must be pre-defined for a cache. They are populated by extraction
from an Element's value using an AttributeExtractor
.
Search results can either be Element keys (the default), values, or the result of an Aggregator
function.
A Query
instance can be used by multiple threads
Field Summary | |
---|---|
static Attribute |
KEY
The search attribute for a cache element's key. |
static Attribute |
VALUE
The search attribute for a cache element's value. |
Method Summary | |
---|---|
Query |
addCriteria(Criteria criteria)
Adds a criteria to the query |
Query |
addGroupBy(Attribute<?>... attribute)
Group result set by unique value(s) of specified attribute(s). |
Query |
addOrderBy(Attribute<?> attribute,
Direction direction)
Request result set ordering by the given attribute and direction. |
Query |
end()
Optional method for terminating query creation. |
Results |
execute()
Execute this query. |
Query |
includeAggregator(Aggregator... aggregators)
Request this query to aggregate the results by the given Aggregator(s) This method may be called multiple times to request multiple aggregations |
Query |
includeAttribute(Attribute<?>... attributes)
Request that the given attribute(s) should be present in the result for this query. |
Query |
includeKeys()
Request that the key object be present in the results. |
Query |
includeValues()
Request that the value object be present in the results. |
Query |
maxResults(int maxResults)
Restrict the number of results returned from the search. |
Field Detail |
---|
static final Attribute KEY
AttributeType
static final Attribute VALUE
AttributeType
Method Detail |
---|
Query includeKeys()
Query includeValues()
Query includeAttribute(Attribute<?>... attributes)
maxResults(int)
or by using Results.range(int, int)
rathern than Results.all()
attributes
- the query attributes to select
Query includeAggregator(Aggregator... aggregators) throws SearchException, AggregatorException
aggregators
-
SearchException
AggregatorException
Query addOrderBy(Attribute<?> attribute, Direction direction)
attribute
- The attribute to order the results bydirection
- Ascending or descending
Query addGroupBy(Attribute<?>... attribute)
attribute
-
Query maxResults(int maxResults)
maxResults
clause to your query to limit the size.
Negative values are ignored and result in the default behaviour: unlimited number of results.
maxResults
- the maximum number of results to return
Query addCriteria(Criteria criteria)
Results execute() throws SearchException
TimeoutBehaviorConfiguration.TimeoutBehaviorType.NOOP
and
TimeoutBehaviorConfiguration.TimeoutBehaviorType.LOCAL_READS
behavior
SearchException
Query end()
|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |