de.infoasset.platform.store
Class Query

java.lang.Object
  extended by de.infoasset.platform.store.AbstractQuery
      extended by de.infoasset.platform.store.Query
Direct Known Subclasses:
QueryAll, QueryCondition, QueryOperator

public abstract class Query
extends AbstractQuery

A Query is a canonical tree representation of a declarative, content-based selection predicate which can be evaluated by a container to return an ordered sequence of content objects of the container.

The construction rules for queries also allow to perform multi-way joins between containers (existential quantification) and to specify complex text predicates on text attributes of containers (using instances of QueryText).

Depending on the capabilities of the container (content manager), the selection predicates either have boolean semantics (strict true/false) or fuzzy semantics (probability or relevance scores from the interval [0.0 .. 1.0]).

A query with boolean semantics returns an iterator over the set of content objects that satisfy the predicate.

Technically speaking, a Query is an abstract class where subclasses define concrete query tree nodes.

See Also:
Container, QueryText

Constructor Summary
Query()
           
 
Method Summary
 void addJoin(Join q2)
           
 void addSortingCriterion(SortingCriterion c)
           
 java.util.List<SortingCriterion> getAllSortingCriterions()
           
 java.util.List<Join> getJoins()
           
abstract  java.lang.Object visit(QueryVisitor v)
          Visit this query object by a QueryVisitor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Query

public Query()
Method Detail

visit

public abstract java.lang.Object visit(QueryVisitor v)
Visit this query object by a QueryVisitor. All concrete subclasses have to implement this method.

See Also:
QueryVisitor

addJoin

public void addJoin(Join q2)

getJoins

public java.util.List<Join> getJoins()

addSortingCriterion

public void addSortingCriterion(SortingCriterion c)

getAllSortingCriterions

public java.util.List<SortingCriterion> getAllSortingCriterions()