ModeShape Distribution 3.5.0.Final

org.modeshape.jcr.query
Class JcrQueryResult

java.lang.Object
  extended by org.modeshape.jcr.query.JcrQueryResult
All Implemented Interfaces:
QueryResult
Direct Known Subclasses:
JcrSqlQueryResult, XPathQueryResult

@NotThreadSafe
public class JcrQueryResult
extends Object
implements QueryResult

The results of a query. This is not thread-safe because it relies upon JcrSession, which is not thread-safe. Also, although the results of a query never change, the objects returned by the iterators may vary if the session information changes.

See Also:
XPathQueryResult, JcrSqlQueryResult

Nested Class Summary
protected static class JcrQueryResult.MultiSelectorQueryResultRow
           
protected static class JcrQueryResult.QueryResultNodeIterator
          The NodeIterator implementation returned by the JcrQueryResult.
protected static class JcrQueryResult.QueryResultRowIterator
          The RowIterator implementation returned by the JcrQueryResult.
protected static class JcrQueryResult.SingleSelectorQueryResultRow
           
protected static class JcrQueryResult.SingleSelectorQueryResultRowIterator
          The RowIterator implementation returned by the JcrQueryResult.
 
Field Summary
protected  JcrQueryContext context
           
static String JCR_NAME_COLUMN_NAME
           
static String JCR_PATH_COLUMN_NAME
           
static String JCR_SCORE_COLUMN_NAME
           
static String MODE_DEPTH_COLUMN_NAME
           
static String MODE_LOCALNAME_COLUMN_NAME
           
protected static Set<String> PSEUDO_COLUMNS
           
protected  String queryStatement
           
protected  QueryResults results
           
protected  Schemata schemata
           
 
Constructor Summary
protected JcrQueryResult(JcrQueryContext context, String query, QueryResults graphResults, Schemata schemata)
           
 
Method Summary
 List<String> getColumnNameList()
           
 String[] getColumnNames()
           
 List<String> getColumnTypeList()
           
 String[] getColumnTypes()
          Returns an array of the PropertyType name for each of the columns in this result.
 NodeIterator getNodes()
           
 String getPlan()
          Get a description of ModeShape's plan for executing this query.
 RowIterator getRows()
           
 String[] getSelectorNames()
           
 Collection<String> getWarnings()
          Get any warnings that might describe potential problems with this query.
protected  QueryResults results()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

JCR_SCORE_COLUMN_NAME

public static final String JCR_SCORE_COLUMN_NAME
See Also:
Constant Field Values

JCR_PATH_COLUMN_NAME

public static final String JCR_PATH_COLUMN_NAME
See Also:
Constant Field Values

JCR_NAME_COLUMN_NAME

public static final String JCR_NAME_COLUMN_NAME
See Also:
Constant Field Values

MODE_LOCALNAME_COLUMN_NAME

public static final String MODE_LOCALNAME_COLUMN_NAME
See Also:
Constant Field Values

MODE_DEPTH_COLUMN_NAME

public static final String MODE_DEPTH_COLUMN_NAME
See Also:
Constant Field Values

PSEUDO_COLUMNS

protected static final Set<String> PSEUDO_COLUMNS

context

protected final JcrQueryContext context

results

protected final QueryResults results

schemata

protected final Schemata schemata

queryStatement

protected final String queryStatement
Constructor Detail

JcrQueryResult

protected JcrQueryResult(JcrQueryContext context,
                         String query,
                         QueryResults graphResults,
                         Schemata schemata)
Method Detail

results

protected QueryResults results()

getColumnNameList

public List<String> getColumnNameList()

getColumnTypeList

public List<String> getColumnTypeList()

getColumnNames

public String[] getColumnNames()
Specified by:
getColumnNames in interface QueryResult

getColumnTypes

public String[] getColumnTypes()
Description copied from interface: QueryResult
Returns an array of the PropertyType name for each of the columns in this result.

Returns:
the array of property type names; never null, never has null elements, and the size always matches QueryResult.getColumnNames().

getSelectorNames

public String[] getSelectorNames()
Specified by:
getSelectorNames in interface QueryResult

getNodes

public NodeIterator getNodes()
                      throws RepositoryException
Specified by:
getNodes in interface QueryResult
Throws:
RepositoryException

getRows

public RowIterator getRows()
Specified by:
getRows in interface QueryResult

getPlan

public String getPlan()
Description copied from interface: QueryResult
Get a description of ModeShape's plan for executing this query. The plan uses relational algebra and operations, and may be used to get insight into what operations are performed when executing the query.

Note that as of ModeShape 3.1, the plan is always captured and available, though this may change in future versions. This means that clients should be written to never expect a non-null String response from this method.

Returns:
the string representation of the query plan as executed by the query; may be null if the query plan was not captured for the query (though currently it is always captured)

getWarnings

public Collection<String> getWarnings()
Description copied from interface: QueryResult
Get any warnings that might describe potential problems with this query.

Note that a query that has warnings is not necessarily incorrect or potentially wrong - because of residual properties, ModeShape may produce warnings for queries that are perfectly valid.

However, if a query does not give the expected results (during development), check the warnings to see if ModeShape can suggest specific things to look at. For example, a warnings might suggest that a column might be resolved on a different selector, or that a column might have been misspelled.

Returns:
the collection of warnings; never null be empty when there are no warnings

toString

public String toString()
Overrides:
toString in class Object

ModeShape Distribution 3.5.0.Final

Copyright © 2008-2013 JBoss, a division of Red Hat. All Rights Reserved.