org.apache.jackrabbit.commons.query.sql2
Class SQL2QOMBuilder

java.lang.Object
  extended by org.apache.jackrabbit.commons.query.sql2.SQL2QOMBuilder
All Implemented Interfaces:
QueryObjectModelBuilder

public class SQL2QOMBuilder
extends Object
implements QueryObjectModelBuilder

SQL2QOMBuilder implements QOM builder that understands Query.JCR_SQL2 and Query.JCR_JQOM. JCR_JQOM might be surprising, but JSR 283 says that the serialization format of JCR_JQOM is JCR_SQL2. This is important when a JQOM is stored on a node as a serialized String and a language property set to JCR_JQOM.


Constructor Summary
SQL2QOMBuilder()
           
 
Method Summary
 boolean canHandle(String language)
          Returns true if this QOM builder can handle a statement in language.
 QueryObjectModel createQueryObjectModel(String statement, QueryObjectModelFactory qf, ValueFactory vf)
          Creates a new query object model from the given statement using the passed QOM and value factory.
 String[] getSupportedLanguages()
          Returns the set of query languages supported by this builder.
 String toString(QueryObjectModel qom)
          Creates a String representation of the query object model in the syntax this QueryObjectModelBuilder can handle.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SQL2QOMBuilder

public SQL2QOMBuilder()
Method Detail

createQueryObjectModel

public QueryObjectModel createQueryObjectModel(String statement,
                                               QueryObjectModelFactory qf,
                                               ValueFactory vf)
                                        throws InvalidQueryException,
                                               RepositoryException
Creates a new query object model from the given statement using the passed QOM and value factory.

Specified by:
createQueryObjectModel in interface QueryObjectModelBuilder
Parameters:
statement - the query statement.
qf - the query object model factory.
vf - the value factory.
Returns:
the query object model for the given statement.
Throws:
InvalidQueryException - if the statement is invalid.
RepositoryException - if another error occurs.

canHandle

public boolean canHandle(String language)
Returns true if this QOM builder can handle a statement in language.

Specified by:
canHandle in interface QueryObjectModelBuilder
Parameters:
language - the language of a query statement to build a QOM.
Returns:
true if this builder can handle language; false otherwise.

getSupportedLanguages

public String[] getSupportedLanguages()
Returns the set of query languages supported by this builder.

Specified by:
getSupportedLanguages in interface QueryObjectModelBuilder
Returns:
String array containing the names of the supported languages.

toString

public String toString(QueryObjectModel qom)
                throws InvalidQueryException
Creates a String representation of the query object model in the syntax this QueryObjectModelBuilder can handle.

Specified by:
toString in interface QueryObjectModelBuilder
Parameters:
qom - the query object model.
Returns:
a String representation of the QOM.
Throws:
InvalidQueryException - if the query object model cannot be converted into a String representation due to restrictions in this syntax.


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.