org.xwiki.query.internal
Class AbstractQueryManager

java.lang.Object
  extended by org.xwiki.query.internal.AbstractQueryManager
All Implemented Interfaces:
QueryManager
Direct Known Subclasses:
DefaultQueryManager, SecureQueryManager

public abstract class AbstractQueryManager
extends java.lang.Object
implements QueryManager

Base QueryManager implementation.

Since:
2.0M1
Version:
$Id$

Constructor Summary
AbstractQueryManager()
           
 
Method Summary
 Query createQuery(java.lang.String statement, java.lang.String language)
          Create query for given statement and language.
 java.util.Set<java.lang.String> getLanguages()
          
 Query getNamedQuery(java.lang.String queryName)
          
protected abstract  QueryExecutorManager getQueryExecutorManager()
           
 boolean hasLanguage(java.lang.String language)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractQueryManager

public AbstractQueryManager()
Method Detail

getQueryExecutorManager

protected abstract QueryExecutorManager getQueryExecutorManager()
Returns:
the query executor manager to use. This allows extending classes to provide their version of it (for example using the Default manager or the Secure one or any other)

getLanguages

public java.util.Set<java.lang.String> getLanguages()

Specified by:
getLanguages in interface QueryManager
Returns:
supported languages.

hasLanguage

public boolean hasLanguage(java.lang.String language)

Specified by:
hasLanguage in interface QueryManager
Parameters:
language - language to check.
Returns:
is language supported.

createQuery

public Query createQuery(java.lang.String statement,
                         java.lang.String language)
                  throws QueryException
Create query for given statement and language. Use createQuery("statement", Query.LANGUAGE). For example: createQuery("select doc.name from XWikiDocument doc", Query.HQL).

Specified by:
createQuery in interface QueryManager
Parameters:
statement - query statement.
language - language of the query. Must be one of QueryManager.getLanguages(). Use Query.LANGUAGE for indication.
Returns:
a Query object.
Throws:
QueryException - if language is not supported

getNamedQuery

public Query getNamedQuery(java.lang.String queryName)
                    throws QueryException

Specified by:
getNamedQuery in interface QueryManager
Parameters:
queryName - name of named query.
Returns:
Query object.
Throws:
QueryException - if there is no query with that name


Copyright © 2004-2011 XWiki. All Rights Reserved.