Class SQL2QOMBuilder
- java.lang.Object
-
- org.apache.jackrabbit.commons.query.sql2.SQL2QOMBuilder
-
- All Implemented Interfaces:
QueryObjectModelBuilder
public class SQL2QOMBuilder extends Object implements QueryObjectModelBuilder
SQL2QOMBuilder
implements QOM builder that understandsQuery.JCR_SQL2
andQuery.JCR_JQOM
.JCR_JQOM
might be surprising, but JSR 283 says that the serialization format ofJCR_JQOM
isJCR_SQL2
. This is important when a JQOM is stored on a node as a serialized String and a language property set toJCR_JQOM
.
-
-
Constructor Summary
Constructors Constructor Description SQL2QOMBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canHandle(String language)
Returnstrue
if this QOM builder can handle a statement inlanguage
.QueryObjectModel
createQueryObjectModel(String statement, QueryObjectModelFactory qf, ValueFactory vf)
Creates a new query object model from the givenstatement
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 thisQueryObjectModelBuilder
can handle.
-
-
-
Method Detail
-
createQueryObjectModel
public QueryObjectModel createQueryObjectModel(String statement, QueryObjectModelFactory qf, ValueFactory vf) throws InvalidQueryException, RepositoryException
Creates a new query object model from the givenstatement
using the passed QOM and value factory.- Specified by:
createQueryObjectModel
in interfaceQueryObjectModelBuilder
- 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)
Returnstrue
if this QOM builder can handle a statement inlanguage
.- Specified by:
canHandle
in interfaceQueryObjectModelBuilder
- Parameters:
language
- the language of a query statement to build a QOM.- Returns:
true
if this builder can handlelanguage
;false
otherwise.
-
getSupportedLanguages
public String[] getSupportedLanguages()
Returns the set of query languages supported by this builder.- Specified by:
getSupportedLanguages
in interfaceQueryObjectModelBuilder
- 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 thisQueryObjectModelBuilder
can handle.- Specified by:
toString
in interfaceQueryObjectModelBuilder
- 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.
-
-