?? criteria.java
字號:
* @param value
*/
public void addSelectLessThan(String attrName, Object value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.LESS_THAN, value);
}
/**
* Add less condition (<) given propertyName and int value.
*
* @param attrName
* @param value
*/
public void addSelectLessThan(String attrName, int value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.LESS_THAN, value);
}
/**
* Add less condition (<) given propertyName and long value.
*
* @param attrName
* @param value
*/
public void addSelectLessThan(String attrName, long value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.LESS_THAN, value);
}
/**
* Add less condition (<) given propertyName and long value.
*
* @param attrName
* @param value
*/
public void addSelectLessThan(String attrName, double value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.LESS_THAN, value);
}
/**
* Add less/equal condition (<=) given propertyName and value.
*
* @param attrName
* @param value
*/
public void addSelectLessOrEqual(String attrName, Object value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.LESS_OR_EQUAL, value);
}
/**
* Add less/equal condition (<=) given propertyName and int value.
*
* @param attrName
* @param value
*/
public void addSelectLessOrEqual(String attrName, int value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.LESS_OR_EQUAL, value);
}
/**
* Add less/equal condition (<=) given propertyName and long value.
*
* @param attrName
* @param value
*/
public void addSelectLessOrEqual(String attrName, long value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.LESS_OR_EQUAL, value);
}
/**
* Add less/equal condition (<=) given propertyName and double value.
*
* @param attrName
* @param value
*/
public void addSelectLessOrEqual(String attrName, double value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.LESS_OR_EQUAL, value);
}
/**
* Add greater than condition (>) given propertyName and value.
*
* @param attrName
* @param value
*/
public void addSelectGreaterThan(String attrName, Object value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.GREATER_THAN, value);
}
/**
* Add greater than condition (>) given propertyName and int value.
*
* @param attrName
* @param value
*/
public void addSelectGreaterThan(String attrName, int value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.GREATER_THAN, value);
}
/**
* Add greater than condition (>) given propertyName and long value.
*
* @param attrName
* @param value
*/
public void addSelectGreaterThan(String attrName, long value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.GREATER_THAN, value);
}
/**
* Add greater than condition (>) given propertyName and double value.
*
* @param attrName
* @param value
*/
public void addSelectGreaterThan(String attrName, double value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.GREATER_THAN, value);
}
/**
* Add greater than condition (>=) given propertyName and value.
*
* @param attrName
* @param value
*/
public void addSelectGreaterOrEqual(String attrName, Object value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.GREATER_OR_EQUAL, value);
}
/**
* Add greater than condition (>=) given propertyName and int value.
*
* @param attrName
* @param value
*/
public void addSelectGreaterOrEqual(String attrName, int value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.GREATER_OR_EQUAL, value);
}
/**
* Add greater than condition (>=) given propertyName and long value.
*
* @param attrName
* @param value
*/
public void addSelectGreaterOrEqual(String attrName, long value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.GREATER_OR_EQUAL, value);
}
/**
* Add greater than condition (>=) given propertyName and double value.
*
* @param attrName
* @param value
*/
public void addSelectGreaterOrEqual(String attrName, double value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.GREATER_OR_EQUAL, value);
}
/**
* Add not equal condition (<>) given propertyName and value.
*
* @param attrName
* @param value
*/
public void addSelectNotEqual(String attrName, Object value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.NOT_EQUAL, value);
}
/**
* Add not equal condition (<>) given propertyName and int value.
*
* @param attrName
* @param value
*/
public void addSelectNotEqual(String attrName, int value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.NOT_EQUAL, value);
}
/**
* Add not equal condition (<>) given propertyName and long value.
*
* @param attrName
* @param value
*/
public void addSelectNotEqual(String attrName, long value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.NOT_EQUAL, value);
}
/**
* Add not equal condition (<>) given propertyName and double value.
*
* @param attrName
* @param value
*/
public void addSelectNotEqual(String attrName, double value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.NOT_EQUAL, value);
}
/**
* Add like condition given propertyName and value.
*
* You can add % character in value parameter.
*
* @param attrName
* @param value
*/
public void addSelectLike(String attrName, String value){
String columnName = getColumnTableName(attrName);
addCondition(columnName, SqlInterface.LIKE, value);
}
/**
* Add or condition given another criteria.
*
* Criteria parameter is enclosed from open
* and closed parenthesis.
*
* @param criteria condition to append to OR clause
*
*/
public void addOrCriteria(Criteria criteria){
this.criteria.append(" ").append(SqlInterface.OR)
.append("(").append(criteria.getCriteria())
.append(")");
}
/**
* Add and condition given another criteria.
*
* @param criteria condition to append to OR clause
*
*/
public void addAndCriteria(Criteria criteria){
this.criteria.append(" ").append(SqlInterface.AND)
.append(" ").append(criteria.getCriteria())
.append(" ");
}
/**
* Add order by condition given attrName to order and isAscending
* to specify the ordering.
*
* @param attrName
* @param isAscending if true the ordering is ascending,false is
* descending
*
*/
public void addOrderBy(String attrName, boolean isAscending){
String columnName = getColumnTableName(attrName);
orderConditions.add(new OrderCriteria(attrName, isAscending));
}
/**
* Add order by condition given attrName in ascending ordering.
*
* @param attrName
*
*/
public void addOrderBy(String attrName){
String columnName = getColumnTableName(attrName);
addOrderBy(attrName, true);
}
/**
* Builds a string for the 'ORDER BY' clause
*
* @param items to order
* @return an SQL string for the 'ORDER BY' clause
* @exception MappingException if an error occurs
*/
public StringBuffer getOrderByClause(ArrayList items) throws MappingException{
if (orderConditions.size() == 0) return null;
StringBuffer sb = new StringBuffer();
sb.append(SqlInterface.ORDER_BY);
for (int i = 0; i < orderConditions.size(); i++) {
OrderCriteria criteriaC = (OrderCriteria)orderConditions.get(i);
if (i > 0) sb.append(", ");
sb.append(criteriaC.asSqlClause(items));
}
return sb;
}
/**
* Return a Stirng representation of Criteria object
*
* @return String
*/
public String toString(){
StringBuffer sb = new StringBuffer();
sb.append(className)
.append("[").append("\n")
.append("criteria=").append(criteria).append("\n")
.append("order=").append(orderConditions).append("\n")
.append("]");
return sb.toString();
}
/**
*
* <code>Criteria</code> represents order by criteria
*
*/
static class OrderCriteria {
/**
* column name to order
*/
private String name;
/**
* Type of ordering, true is ascending,
* false is descending
*/
private boolean isAscending;
/**
* Hascode value
*/
private int hashCode = -1;
/**
* Creates order by criteria given column name to order
* and ordering.
*
* @param name
* @param isAscending true is ascending,
* false is descending
*/
OrderCriteria(String name, boolean isAscending) {
this.name = name;
this.isAscending = isAscending;
}
/**
* Return hashcode of this class
*
* @return int
*/
public int hashCode(){
if (hashCode == -1) {
hashCode = name.hashCode();
if (isAscending)
hashCode++;
}
return hashCode;
}
/**
* Return true is current object is equal to obj
* false otherwise
*
* @param obj
* @return boolean
*/
public boolean equals(Object obj){
if (obj == null || !(obj instanceof OrderCriteria))
return false;
OrderCriteria criteria = (OrderCriteria)obj;
return isAscending == criteria.isAscending
&& name.equals(criteria.name);
}
/**
* Return a order by in String representation.
*
* @param items
* @return String
* @throws MappingException
*/
public String asSqlClause(ArrayList items) throws MappingException{
StringBuffer sb = new StringBuffer();
for(int i = 0; i < items.size(); i++){
ItemDescriptor item = (ItemDescriptor)items.get(i);
if(item.getPropertyName().equals(name)){
// Fixed Bug: #692905 (Giovanni Martone)
// old line: sb.append(item.getPropertyName());
sb.append(item.getColumnTableName());
if (isAscending) {
sb.append(" " + SqlInterface.ASC);
}
else{
sb.append(" " + SqlInterface.DESC);
}
}
}
return sb.toString();
}
}
}
/*
$Log: Criteria.java,v $
Revision 1.8 2004/05/31 22:31:00 gmartone
changed for task 99533 (Composite Primary Key)
Revision 1.7 2004/05/20 22:37:09 gmartone
Changed for task 99073 (Coverage Javadocs)
Revision 1.6 2004/05/18 17:58:10 gmartone
added addAndCriteria method and added blank before and after OR and AND keyword, cosmetics changes
*/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -