org.exoplatform.services.wcm.utils
Class AbstractQueryBuilder

java.lang.Object
  extended by org.exoplatform.services.wcm.utils.AbstractQueryBuilder
Direct Known Subclasses:
SQLQueryBuilder, XPathQueryBuilder

public abstract class AbstractQueryBuilder
extends java.lang.Object

Created by The eXo Platform SAS Author : Hoa Pham hoa.pham@exoplatform.com Oct 7, 2008


Nested Class Summary
static class AbstractQueryBuilder.LOGICAL
          The Enum LOGICAL function for query
static class AbstractQueryBuilder.ORDERBY
          The Enum ORDERBY function for query
static class AbstractQueryBuilder.PATH_TYPE
          The Enum type of path constraints can be used in query statement
static class AbstractQueryBuilder.QueryTermHelper
          The Class QueryTermHelper.
 
Field Summary
protected  java.lang.StringBuilder containsClause
          The contains clause.
protected  java.lang.StringBuilder excerptClause
          The excerpt clause.
protected  java.lang.StringBuilder fromClause
          The from clause.
protected  java.lang.StringBuilder orderByClause
          The order by clause.
protected  java.lang.StringBuilder pathClause
          The path clause.
protected  java.lang.StringBuilder propertiesClause
          The properties clause.
protected  java.lang.StringBuilder selectClause
          The select clause.
protected  java.lang.StringBuilder spellCheckClause
          The spell check clause.
 
Constructor Summary
AbstractQueryBuilder()
           
 
Method Summary
abstract  void afterDate(java.lang.String datePropertyName, java.lang.String date, AbstractQueryBuilder.LOGICAL condition)
          After date.
abstract  void beforeDate(java.lang.String datePropertyName, java.lang.String date, AbstractQueryBuilder.LOGICAL condition)
          Before date.
abstract  void betweenDates(java.lang.String datePropertyName, java.lang.String startDate, java.lang.String endDate, AbstractQueryBuilder.LOGICAL condition)
          Between dates.
abstract  void closeGroup()
          Close group.
abstract  void contains(java.lang.String scope, java.lang.String term, AbstractQueryBuilder.LOGICAL condition)
          Contains.
abstract  java.lang.String createQueryStatement()
          Creates the query statement.
abstract  void equal(java.lang.String propName, java.lang.String value, AbstractQueryBuilder.LOGICAL condition)
          Equal.
abstract  void excerpt(boolean enable)
          Excerpt.
abstract  void fromNodeTypes(java.lang.String[] nodetypes)
          From node types.
abstract  void greaterOrEqual(java.lang.String propName, java.lang.String value, AbstractQueryBuilder.LOGICAL condition)
          Greater or equal.
abstract  void greaterThan(java.lang.String propName, java.lang.String value, AbstractQueryBuilder.LOGICAL condition)
          Greater than.
abstract  void isNotNull(java.lang.String propertyName, AbstractQueryBuilder.LOGICAL condition)
          Checks a property is not null.
abstract  void isNull(java.lang.String propertyName, AbstractQueryBuilder.LOGICAL condition)
          Checks a property is null.
abstract  void lessThan(java.lang.String propertyName, java.lang.String value, AbstractQueryBuilder.LOGICAL condition)
          compare less than
abstract  void lessThanOrEqual(java.lang.String propName, java.lang.String value, AbstractQueryBuilder.LOGICAL condition)
          Less than or equal.
abstract  void like(java.lang.String propName, java.lang.String value, AbstractQueryBuilder.LOGICAL condition)
          Like.
abstract  void merge(AbstractQueryBuilder other)
          Merge.
abstract  void notContains(java.lang.String scope, java.lang.String term, AbstractQueryBuilder.LOGICAL condition)
          Not contains.
abstract  void notEqual(java.lang.String propName, java.lang.String value, AbstractQueryBuilder.LOGICAL condition)
          Not equal.
abstract  void openGroup(AbstractQueryBuilder.LOGICAL logical)
          Open group condition for where clause
abstract  void orderBy(java.lang.String properyName, AbstractQueryBuilder.ORDERBY orderby)
          Order by.
abstract  void reference(java.lang.String propName, java.lang.String value, AbstractQueryBuilder.LOGICAL condition)
          Reference.
abstract  void selectTypes(java.lang.String[] returnTypes)
          Select types.
abstract  void setQueryPath(java.lang.String path, AbstractQueryBuilder.PATH_TYPE pathtype)
          Sets the query path.
abstract  void spellCheck(java.lang.String term)
          Spell check.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fromClause

protected java.lang.StringBuilder fromClause
The from clause.


propertiesClause

protected java.lang.StringBuilder propertiesClause
The properties clause.


pathClause

protected java.lang.StringBuilder pathClause
The path clause.


orderByClause

protected java.lang.StringBuilder orderByClause
The order by clause.


selectClause

protected java.lang.StringBuilder selectClause
The select clause.


containsClause

protected java.lang.StringBuilder containsClause
The contains clause.


spellCheckClause

protected java.lang.StringBuilder spellCheckClause
The spell check clause.


excerptClause

protected java.lang.StringBuilder excerptClause
The excerpt clause.

Constructor Detail

AbstractQueryBuilder

public AbstractQueryBuilder()
Method Detail

isNull

public abstract void isNull(java.lang.String propertyName,
                            AbstractQueryBuilder.LOGICAL condition)
Checks a property is null.

Parameters:
propertyName - the property name
condition - the condition

isNotNull

public abstract void isNotNull(java.lang.String propertyName,
                               AbstractQueryBuilder.LOGICAL condition)
Checks a property is not null.

Parameters:
propertyName - the property name
condition - the condition

lessThan

public abstract void lessThan(java.lang.String propertyName,
                              java.lang.String value,
                              AbstractQueryBuilder.LOGICAL condition)
compare less than

Parameters:
propertyName - the property name
value - the value
condition - the condition

greaterThan

public abstract void greaterThan(java.lang.String propName,
                                 java.lang.String value,
                                 AbstractQueryBuilder.LOGICAL condition)
Greater than.

Parameters:
propName - the prop name
value - the value
condition - the condition

lessThanOrEqual

public abstract void lessThanOrEqual(java.lang.String propName,
                                     java.lang.String value,
                                     AbstractQueryBuilder.LOGICAL condition)
Less than or equal.

Parameters:
propName - the prop name
value - the value
condition - the condition

greaterOrEqual

public abstract void greaterOrEqual(java.lang.String propName,
                                    java.lang.String value,
                                    AbstractQueryBuilder.LOGICAL condition)
Greater or equal.

Parameters:
propName - the prop name
value - the value
condition - the condition

equal

public abstract void equal(java.lang.String propName,
                           java.lang.String value,
                           AbstractQueryBuilder.LOGICAL condition)
Equal.

Parameters:
propName - the prop name
value - the value
condition - the condition

notEqual

public abstract void notEqual(java.lang.String propName,
                              java.lang.String value,
                              AbstractQueryBuilder.LOGICAL condition)
Not equal.

Parameters:
propName - the prop name
value - the value
condition - the condition

like

public abstract void like(java.lang.String propName,
                          java.lang.String value,
                          AbstractQueryBuilder.LOGICAL condition)
Like.

Parameters:
propName - the prop name
value - the value
condition - the condition

reference

public abstract void reference(java.lang.String propName,
                               java.lang.String value,
                               AbstractQueryBuilder.LOGICAL condition)
Reference.

Parameters:
propName - the prop name
value - the value
condition - the condition

beforeDate

public abstract void beforeDate(java.lang.String datePropertyName,
                                java.lang.String date,
                                AbstractQueryBuilder.LOGICAL condition)
Before date.

Parameters:
datePropertyName - the date property name
date - the date
condition - the condition

afterDate

public abstract void afterDate(java.lang.String datePropertyName,
                               java.lang.String date,
                               AbstractQueryBuilder.LOGICAL condition)
After date.

Parameters:
datePropertyName - the date property name
date - the date
condition - the condition

betweenDates

public abstract void betweenDates(java.lang.String datePropertyName,
                                  java.lang.String startDate,
                                  java.lang.String endDate,
                                  AbstractQueryBuilder.LOGICAL condition)
Between dates.

Parameters:
datePropertyName - the date property name
startDate - the start date
endDate - the end date
condition - the condition

setQueryPath

public abstract void setQueryPath(java.lang.String path,
                                  AbstractQueryBuilder.PATH_TYPE pathtype)
Sets the query path.

Parameters:
path - the path
pathtype - the pathtype

contains

public abstract void contains(java.lang.String scope,
                              java.lang.String term,
                              AbstractQueryBuilder.LOGICAL condition)
Contains.

Parameters:
scope - the scope
term - the term
condition - the condition

notContains

public abstract void notContains(java.lang.String scope,
                                 java.lang.String term,
                                 AbstractQueryBuilder.LOGICAL condition)
Not contains.

Parameters:
scope - the scope
term - the term
condition - the condition

excerpt

public abstract void excerpt(boolean enable)
Excerpt.

Parameters:
enable - the enable

spellCheck

public abstract void spellCheck(java.lang.String term)
Spell check.

Parameters:
term - the term

orderBy

public abstract void orderBy(java.lang.String properyName,
                             AbstractQueryBuilder.ORDERBY orderby)
Order by.

Parameters:
properyName - the propery name
orderby - the orderby

selectTypes

public abstract void selectTypes(java.lang.String[] returnTypes)
Select types.

Parameters:
returnTypes - the return types

fromNodeTypes

public abstract void fromNodeTypes(java.lang.String[] nodetypes)
From node types.

Parameters:
nodetypes - the nodetypes

openGroup

public abstract void openGroup(AbstractQueryBuilder.LOGICAL logical)
Open group condition for where clause

Parameters:
logical - the logical

closeGroup

public abstract void closeGroup()
Close group.


createQueryStatement

public abstract java.lang.String createQueryStatement()
Creates the query statement.

Returns:
the string

merge

public abstract void merge(AbstractQueryBuilder other)
Merge.

Parameters:
other - the other


Copyright © 2011 eXo Platform SAS. All Rights Reserved.