All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.jcr.query.qom.QueryObjectModel Maven / Gradle / Ivy

There is a newer version: 2024.11.18751.20241128T090041Z-241100
Show newest version
/*
 * Copyright 2009 Day Management AG, Switzerland. All rights reserved.
 */
package javax.jcr.query.qom;

import javax.jcr.query.Query;

/**
 * A query in the JCR query object model.
 * 

* The JCR query object model describes the queries that can be evaluated by a * JCR repository independent of any particular query language, such as SQL. *

* A query consists of:

  • a source. When the query is evaluated, the * source evaluates its selectors and the joins between them to produce a * (possibly empty) set of node-tuples. This is a set of 1-tuples if the query * has one selector (and therefore no joins), a set of 2-tuples if the query has * two selectors (and therefore one join), a set of 3-tuples if the query has * three selectors (two joins), and so forth.
  • an optional constraint. * When the query is evaluated, the constraint filters the set of * node-tuples.
  • a list of zero or more orderings. The orderings * specify the order in which the node-tuples appear in the query results. The * relative order of two node-tuples is determined by evaluating the specified * orderings, in list order, until encountering an ordering for which one * node-tuple precedes the other. If no orderings are specified, or if for none * of the specified orderings does one node-tuple precede the other, then the * relative order of the node-tuples is implementation determined (and may be * arbitrary).
  • a list of zero or more columns to include in the tabular * view of the query results. If no columns are specified, the columns * available in the tabular view are implementation determined, but minimally * include, for each selector, a column for each single-valued non-residual * property of the selector's node type.
*

* The query object model representation of a query is created by factory * methods in the {@link QueryObjectModelFactory}. * * @since JCR 2.0 */ public interface QueryObjectModel extends Query { /** * Gets the node-tuple source for this query. * * @return the node-tuple source; non-null */ public Source getSource(); /** * Gets the constraint for this query. * * @return the constraint, or null if none */ public Constraint getConstraint(); /** * Gets the orderings for this query. * * @return an array of zero or more orderings; non-null */ public Ordering[] getOrderings(); /** * Gets the columns for this query. * * @return an array of zero or more columns; non-null */ public Column[] getColumns(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy