|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--ojb.broker.query.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.
Field Summary | |
static int |
AND
|
static int |
NONE
|
static int |
OR
|
Constructor Summary | |
Criteria()
Constructor declaration |
Method Summary | |
void |
addAndCriteria(Criteria pc)
ANDs two sets of criteria together: |
void |
addBetween(java.lang.String attribute,
java.lang.Object value1,
java.lang.Object value2)
Adds BETWEEN criteria, customer_id between 1 and 10 |
void |
addEqualTo(java.lang.String attribute,
java.lang.Object value)
Adds and equals (=) criteria, customer_id = 10034 Where Value is a string simple pattern matching can be used, the character * is a wildcard, e.g. |
void |
addEqualToColumn(java.lang.String attribute,
java.lang.String colName)
Adds and equals (=) criteria for column comparison. |
void |
addExists(Query subQuery)
Adds an exists(sub query) |
void |
addGreaterOrEqualThan(java.lang.String attribute,
java.lang.Object value)
Adds GreaterOrEqual Than (>=) criteria, customer_id >= 10034 |
void |
addGreaterThan(java.lang.String attribute,
java.lang.Object value)
Adds Greater Than (>) criteria, customer_id > 10034 |
void |
addIn(java.lang.String attribute,
java.util.Collection values)
Adds IN criteria, customer_id in(1,10,33) |
void |
addIsNull(java.lang.String attribute)
Adds is Null criteria, customer_id is Null |
void |
addLessOrEqualThan(java.lang.String attribute,
java.lang.Object value)
Adds LessOrEqual Than (<=) criteria, customer_id <= 10034 |
void |
addLessThan(java.lang.String attribute,
java.lang.Object value)
Adds Less Than (<) criteria, customer_id < 10034 |
void |
addLike(java.lang.String attribute,
java.lang.Object value)
Adds Like (LIKE) criteria, customer_id LIKE 10034 |
void |
addNotBetween(java.lang.String attribute,
java.lang.Object value1,
java.lang.Object value2)
Adds NOT BETWEEN criteria, customer_id not between 1 and 10 |
void |
addNotEqualTo(java.lang.String attribute,
java.lang.Object value)
Adds NotEqualTo (<>) criteria, customer_id <> 10034 Where Value is a string simple pattern matching can be used, the character * is a wildcard, e.g. |
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) |
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: active = true AND balance < 0 OR active = true AND overdraft = 0 |
void |
addSql(java.lang.String anSqlStatment)
Adds freeform SQL criteria, REVERSE(name) like 're%' |
(package private) java.lang.String |
generateSQLSearchPattern(java.lang.String pattern)
Generate a SQL search string from the pattern string passed. |
protected java.util.Vector |
getCriteria()
Method declaration |
java.util.Enumeration |
getElements()
Method declaration |
java.lang.String[] |
getGroupby()
Gets the groupby for ReportQueries. |
java.lang.String |
getOrderby()
Method declaration |
int |
getType()
Method declaration |
void |
groupBy(java.lang.String groupby)
Sets the single groupby for ReportQueries. |
void |
groupBy(java.lang.String[] groupby)
Sets the groupby for ReportQueries. |
boolean |
isAscending()
|
boolean |
isEmbraced()
Method declaration |
boolean |
isEmpty()
Insert the method's description here. |
void |
orderBy(java.lang.String fieldName)
ORs two sets of criteria together: active = true AND balance < 0 OR active = true AND overdraft = 0 |
void |
orderBy(java.lang.String fieldName,
boolean sortAscending)
|
void |
setEmbraced(boolean embraced)
Method declaration |
void |
setType(int type)
Method declaration |
java.lang.String |
toString()
Method declaration |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final int OR
public static final int AND
public static final int NONE
Constructor Detail |
public Criteria()
Method Detail |
public java.util.Enumeration getElements()
protected java.util.Vector getCriteria()
public int getType()
public void setType(int type)
type
- public boolean isEmbraced()
public void setEmbraced(boolean embraced)
embraced
- public void addEqualTo(java.lang.String attribute, java.lang.Object value)
Where Value is a string simple pattern matching can be used, the character * is a wildcard, e.g. customer_name = Ander*
Would match the customers: Anderson and Anderton. The character ? matches a single occurence of a character. The '\' character is used as an escape character and allow searching for strings containing * or ?. So in order to search for Ander* - use Ander\*.
attribute
- The field name to be usedvalue
- An object representing the value of the fieldjava.lang.String generateSQLSearchPattern(java.lang.String pattern)
pattern
- a criteria search pattern containing optional wildcards
public void addEqualToColumn(java.lang.String attribute, java.lang.String colName)
attribute
- The field name to be usedcolName
- columnnamepublic void addGreaterOrEqualThan(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addLessOrEqualThan(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addLike(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addNotLike(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addNotEqualTo(java.lang.String attribute, java.lang.Object value)
Where Value is a string simple pattern matching can be used, the character * is a wildcard, e.g. customer_name = Ander*
Would match the customers: Anderson and Anderton. The character ? matches a single occurence of a character. The '\' character is used as an escape character and allow searching for strings containing * or ?. So in order to search for Ander* - use Ander\*.
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addGreaterThan(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void addLessThan(java.lang.String attribute, java.lang.Object value)
attribute
- The field name to be usedvalue
- An object representing the value of the fieldpublic void orderBy(java.lang.String fieldName)
PersisentException
- when there are no previous criteria to OR withpublic void orderBy(java.lang.String fieldName, boolean sortAscending)
public boolean isAscending()
public java.lang.String getOrderby()
public java.lang.String toString()
toString
in class java.lang.Object
public void addOrCriteria(Criteria pc)
public void addIsNull(java.lang.String attribute)
attribute
- The field name to be usedpublic void addNotNull(java.lang.String attribute)
attribute
- The field name to be usedpublic void addBetween(java.lang.String 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.String 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 usedpublic void addNotIn(java.lang.String attribute, java.util.Collection values)
attribute
- The field name to be usedpublic void addSql(java.lang.String anSqlStatment)
anSqlStatment
- The free form SQL-Statementpublic void addAndCriteria(Criteria pc)
public void addExists(Query subQuery)
subQuery
- sub-querypublic void addNotExists(Query subQuery)
subQuery
- sub-querypublic boolean isEmpty()
public java.lang.String[] getGroupby()
public void groupBy(java.lang.String[] groupby)
groupby
- The groupby to setpublic void groupBy(java.lang.String groupby)
groupby
- The groupby to set
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |