|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.ojb.broker.query.Criteria
public class Criteria
Persistent Criteria can be used to retrieve sets of objects based on their attributes Normally each attribute is ANDed together, an OR can be performed by creating a new PersistentCriteria and adding it.
Criteria are used, rather than a simple string, because they can be precompiled for efficiency. This code is based on stuff from COBRA - Java Object Persistence Layer Copyright (C) 1997, 1998 DB Harvey-George eMail: cobra@lowrent.org
Field Summary | |
---|---|
static int |
AND
criteria is AND-ed with it's parent |
static int |
NONE
criteria has no parent |
static int |
OR
criteria is OR-ed with it's parent |
static java.lang.String |
PARENT_QUERY_PREFIX
prefix to identify attributes referencing enclosing query |
Constructor Summary | |
---|---|
Criteria()
Constructor declaration |
|
Criteria(SelectionCriteria aSelectionCriteria)
Constructor with a SelectionCriteria |
Method Summary | |
---|---|
void |
addAndCriteria(Criteria pc)
ANDs two sets of criteria together: |
void |
addBetween(java.lang.Object attribute,
java.lang.Object value1,
java.lang.Object value2)
Adds BETWEEN criteria, customer_id between 1 and 10 |
void |
addColumnEqualTo(java.lang.String column,
java.lang.Object value)
Adds and equals (=) criteria, CUST_ID = 10034 attribute will NOT be translated into column name |
void |
addColumnEqualToField(java.lang.String column,
java.lang.Object fieldName)
Adds and equals (=) criteria for field comparison. |
void |
addColumnIn(java.lang.String column,
java.util.Collection values)
Adds IN criteria, customer_id in(1,10,33,44) large values are split into multiple InCriteria IN (1,10) OR IN(33, 44) The attribute will NOT be translated into column name |
void |
addColumnIsNull(java.lang.String column)
Adds is Null criteria, customer_id is Null The attribute will NOT be translated into column name |
void |
addColumnNotNull(java.lang.String column)
Adds not Null criteria, customer_id is not Null The attribute will NOT be translated into column name |
void |
addEqualTo(java.lang.String attribute,
java.lang.Object value)
Adds and equals (=) criteria, customer_id = 10034 |
void |
addEqualToColumn(java.lang.String attribute,
java.lang.String colName)
Adds and equals (=) criteria for column comparison. |
void |
addEqualToField(java.lang.String attribute,
java.lang.String fieldName)
Adds and equals (=) criteria for field comparison. |
void |
addExists(Query subQuery)
Adds an exists(sub query) |
void |
addGreaterOrEqualThan(java.lang.Object attribute,
java.lang.Object value)
Adds GreaterOrEqual Than (>=) criteria, customer_id >= 10034 |
void |
addGreaterOrEqualThanField(java.lang.String attribute,
java.lang.Object value)
Adds GreaterOrEqual Than (>=) criteria, customer_id >= person_id |
void |
addGreaterThan(java.lang.Object attribute,
java.lang.Object value)
Adds Greater Than (>) criteria, customer_id > 10034 |
void |
addGreaterThanField(java.lang.String attribute,
java.lang.Object value)
Adds Greater Than (>) criteria, customer_id > person_id |
void |
addGroupBy(FieldHelper aField)
Deprecated. use QueryByCriteria#addGroupBy |
void |
addGroupBy(java.lang.String fieldName)
Deprecated. use QueryByCriteria#addGroupBy |
void |
addGroupBy(java.lang.String[] fieldNames)
Deprecated. use QueryByCriteria#addGroupBy |
void |
addIn(java.lang.Object attribute,
Query subQuery)
IN Criteria with SubQuery |
void |
addIn(java.lang.String attribute,
java.util.Collection values)
Adds IN criteria, customer_id in(1,10,33,44) large values are split into multiple InCriteria IN (1,10) OR IN(33, 44) |
void |
addIsNull(java.lang.String attribute)
Adds is Null criteria, customer_id is Null |
void |
addLessOrEqualThan(java.lang.Object attribute,
java.lang.Object value)
Adds LessOrEqual Than (<=) criteria, customer_id <= 10034 |
void |
addLessOrEqualThanField(java.lang.String attribute,
java.lang.Object value)
Adds LessOrEqual Than (<=) criteria, customer_id <= person_id |
void |
addLessThan(java.lang.Object attribute,
java.lang.Object value)
Adds Less Than (<) criteria, customer_id < 10034 |
void |
addLessThanField(java.lang.String attribute,
java.lang.Object value)
Adds Less Than (<) criteria, customer_id < person_id |
void |
addLike(java.lang.Object attribute,
java.lang.Object value)
Adds Like (LIKE) criteria, customer_name LIKE "m%ller" |
void |
addNotBetween(java.lang.Object attribute,
java.lang.Object value1,
java.lang.Object value2)
Adds NOT BETWEEN criteria, customer_id not between 1 and 10 |
void |
addNotEqualTo(java.lang.Object attribute,
java.lang.Object value)
Adds NotEqualTo (<>) criteria, customer_id <> 10034 |
void |
addNotEqualToColumn(java.lang.String attribute,
java.lang.String colName)
Adds and equals (<>) criteria for column comparison. |
void |
addNotEqualToField(java.lang.String attribute,
java.lang.String fieldName)
Adds and equals (=) criteria for field comparison. |
void |
addNotExists(Query subQuery)
Adds a not exists(sub query) |
void |
addNotIn(java.lang.String attribute,
java.util.Collection values)
Adds NOT IN criteria, customer_id not in(1,10,33,44) large values are split into multiple InCriteria NOT IN (1,10) AND NOT IN(33, 44) |
void |
addNotIn(java.lang.String attribute,
Query subQuery)
NOT IN Criteria with SubQuery |
void |
addNotLike(java.lang.String attribute,
java.lang.Object value)
Adds Like (NOT LIKE) criteria, customer_id NOT LIKE 10034 |
void |
addNotNull(java.lang.String attribute)
Adds not Null criteria, customer_id is not Null |
void |
addOrCriteria(Criteria pc)
ORs two sets of criteria together: |
void |
addOrderBy(FieldHelper aField)
Deprecated. use QueryByCriteria#addOrderBy |
void |
addOrderBy(java.lang.String fieldName)
Deprecated. use #addOrderByAscending(String fieldName) |
void |
addOrderBy(java.lang.String fieldName,
boolean sortAscending)
Deprecated. use QueryByCriteria#addOrderBy |
void |
addOrderByAscending(java.lang.String fieldName)
Deprecated. use QueryByCriteria#addOrderByAscending |
void |
addOrderByDescending(java.lang.String fieldName)
Deprecated. use QueryByCriteria#addOrderByDescending |
void |
addPathClass(java.lang.String aPath,
java.lang.Class aClass)
Add a hint Class for a path. |
void |
addPrefetchedRelationship(java.lang.String aName)
Deprecated. use QueryByCriteria#addPrefetchedRelationship |
void |
addSql(java.lang.String anSqlStatment)
Adds freeform SQL criteria, REVERSE(name) like 're%' |
Criteria |
copy(boolean includeGroupBy,
boolean includeOrderBy,
boolean includePrefetchedRelationships)
make a copy of the criteria |
java.lang.String |
getAlias()
|
java.util.List |
getClassesForPath(java.lang.String aPath)
Get the a List of Class objects used as hints for a path |
java.util.Enumeration |
getElements()
Get an Enumeration with all sub criteria |
Criteria |
getParentCriteria()
|
java.util.Map |
getPathClasses()
Gets the pathClasses. |
QueryByCriteria |
getQuery()
|
int |
getType()
Answer the type |
UserAlias |
getUserAlias()
|
boolean |
isEmbraced()
ANDed criteria are embraced |
boolean |
isEmpty()
Answer true if no sub criteria available |
boolean |
isNegative()
|
void |
setAlias(java.lang.String alias)
Sets the alias. |
void |
setAlias(java.lang.String alias,
java.lang.String aliasPath)
Sets the alias. |
void |
setAlias(UserAlias userAlias)
Sets the alias using a userAlias object. |
void |
setEmbraced(boolean embraced)
Set embraced |
void |
setNegative(boolean negative)
Flags the whole Criteria as negative. |
void |
setPathClass(java.lang.String aPath,
java.lang.Class aClass)
Set the Class for a path. |
void |
setType(int type)
Set the type |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int OR
public static final int AND
public static final int NONE
public static final java.lang.String PARENT_QUERY_PREFIX
Constructor Detail |
---|
public Criteria()
public Criteria(SelectionCriteria aSelectionCriteria)
aSelectionCriteria
- SelectionCriteriaMethod Detail |
---|
public Criteria copy(boolean includeGroupBy, boolean includeOrderBy, boolean includePrefetchedRelationships)
includeGroupBy
- if trueincludeOrderBy
- if tureincludePrefetchedRelationships
- if true
public java.util.Enumeration getElements()
public int getType()
public void setType(int type)
type
- OR, AND, NONEpublic boolean isEmbraced()
public void setEmbraced(boolean embraced)
embraced
- true if criteria is to be surrounded by bracespublic void addEqualTo(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addColumnEqualTo(java.lang.String column, java.lang.Object value)
column
- The column name to be used without translationvalue
- An object representing the value of the columnpublic void addColumnEqualToField(java.lang.String column, java.lang.Object fieldName)
column
- The column name to be used without translationfieldName
- An object representing the value of the fieldpublic void addEqualToField(java.lang.String attribute, java.lang.String fieldName)
attribute
- The field name to be usedfieldName
- The field name to compare withpublic void addNotEqualToField(java.lang.String attribute, java.lang.String fieldName)
attribute
- The field name to be usedfieldName
- The field name to compare withpublic void addNotEqualToColumn(java.lang.String attribute, java.lang.String colName)
attribute
- The field name to be usedcolName
- The name of the column to compare withpublic void addEqualToColumn(java.lang.String attribute, java.lang.String colName)
attribute
- The field name to be usedcolName
- The name of the column to compare withpublic void addGreaterOrEqualThan(java.lang.Object attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addGreaterOrEqualThanField(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- The field name to compare withpublic void addLessOrEqualThan(java.lang.Object attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addLessOrEqualThanField(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- The field name to compare withpublic void addLike(java.lang.Object attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldLikeCriteria
public void addNotLike(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldLikeCriteria
public void addNotEqualTo(java.lang.Object attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addGreaterThan(java.lang.Object attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addGreaterThanField(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- The field to compare withpublic void addLessThan(java.lang.Object attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addLessThanField(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- The field to compare withpublic void addOrderBy(java.lang.String fieldName)
fieldName
- The field name to be usedpublic void addOrderBy(java.lang.String fieldName, boolean sortAscending)
fieldName
- the field name to be usedsortAscending
- true for ASCENDING, false for DESCENDINGpublic void addOrderBy(FieldHelper aField)
aField
- the Fieldpublic void addOrderByAscending(java.lang.String fieldName)
fieldName
- The field name to be usedpublic void addOrderByDescending(java.lang.String fieldName)
fieldName
- The field name to be usedpublic void addOrCriteria(Criteria pc)
active = true AND balance < 0 OR active = true AND overdraft = 0
pc
- criteriapublic void addIsNull(java.lang.String attribute)
attribute
- The field name to be usedpublic void addColumnIsNull(java.lang.String column)
column
- The column name to be used without translationpublic void addNotNull(java.lang.String attribute)
attribute
- The field name to be usedpublic void addColumnNotNull(java.lang.String column)
column
- The column name to be used without translationpublic void addBetween(java.lang.Object attribute, java.lang.Object value1, java.lang.Object value2)
attribute
- The field name to be usedvalue1
- The lower boundaryvalue2
- The upper boundarypublic void addNotBetween(java.lang.Object attribute, java.lang.Object value1, java.lang.Object value2)
attribute
- The field name to be usedvalue1
- The lower boundaryvalue2
- The upper boundarypublic void addIn(java.lang.String attribute, java.util.Collection values)
attribute
- The field name to be usedvalues
- The value Collectionpublic void addColumnIn(java.lang.String column, java.util.Collection values)
column
- The column name to be used without translationvalues
- The value Collectionpublic void addNotIn(java.lang.String attribute, java.util.Collection values)
attribute
- The field name to be usedvalues
- The value Collectionpublic void addIn(java.lang.Object attribute, Query subQuery)
attribute
- The field name to be usedsubQuery
- The subQuerypublic void addNotIn(java.lang.String attribute, Query subQuery)
attribute
- The field name to be usedsubQuery
- The subQuerypublic void addSql(java.lang.String anSqlStatment)
anSqlStatment
- The free form SQL-Statementpublic void addAndCriteria(Criteria pc)
pc
- criteriapublic void addExists(Query subQuery)
subQuery
- sub-querypublic void addNotExists(Query subQuery)
subQuery
- sub-querypublic boolean isEmpty()
public void addGroupBy(java.lang.String fieldName)
fieldName
- The groupby to setpublic void addGroupBy(FieldHelper aField)
aField
- the Fieldpublic void addGroupBy(java.lang.String[] fieldNames)
fieldNames
- The groupby to setpublic void addPrefetchedRelationship(java.lang.String aName)
aName
- the name of the relationshippublic java.lang.String getAlias()
public UserAlias getUserAlias()
public void setAlias(java.lang.String alias)
alias
- The alias to setpublic void setAlias(java.lang.String alias, java.lang.String aliasPath)
alias
- The alias to setaliasPath
- The path segment(s) to which the alias appliespublic void setAlias(UserAlias userAlias)
userAlias
- The alias to setpublic QueryByCriteria getQuery()
public Criteria getParentCriteria()
public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
public boolean isNegative()
public void setNegative(boolean negative)
negative
- The negative to set.public void addPathClass(java.lang.String aPath, java.lang.Class aClass)
aPath
- the path segment ie: allArticlesInGroupaClass
- the Class ie: CdArticleQueryTest.testInversePathExpression()
public void setPathClass(java.lang.String aPath, java.lang.Class aClass)
aPath
- the path segment ie: allArticlesInGroupaClass
- the Class ie: CdArticleQueryTest.testInversePathExpression()
,
addPathClass(java.lang.String, java.lang.Class)
public java.util.List getClassesForPath(java.lang.String aPath)
aPath
- the path segment ie: allArticlesInGroup
addPathClass(java.lang.String, java.lang.Class)
,
QueryTest.testInversePathExpression()
public java.util.Map getPathClasses()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |