/*** 条件构造器
* 用于创建条件表达式
* @Class Name Restrictions
* @Author lee*/
public classRestrictions {/*** 等于
*@paramfieldName
*@paramvalue
*@paramignoreNull
*@return
*/
public static SimpleExpression eq(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.EQ);
}/*** 不等于
*@paramfieldName
*@paramvalue
*@paramignoreNull
*@return
*/
public static SimpleExpression ne(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.NE);
}/*** 模糊匹配
*@paramfieldName
*@paramvalue
*@paramignoreNull
*@return
*/
public static SimpleExpression like(String fieldName, String value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.LIKE);
}/***
*@paramfieldName
*@paramvalue
*@parammatchMode
*@paramignoreNull
*@return
*/
public staticSimpleExpression like(String fieldName, String value,
MatchMode matchMode,booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return null;
}/*** 大于
*@paramfieldName
*@paramvalue
*@paramignoreNull
*@return
*/
public static SimpleExpression gt(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.GT);
}/*** 小于
*@paramfieldName
*@paramvalue
*@paramignoreNull
*@return
*/
public static SimpleExpression lt(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.LT);
}/*** 大于等于
*@paramfieldName
*@paramvalue
*@paramignoreNull
*@return
*/
public static SimpleExpression lte(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.GTE);
}/*** 小于等于
*@paramfieldName
*@paramvalue
*@paramignoreNull
*@return
*/
public static SimpleExpression gte(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.LTE);
}/*** 并且
*@paramcriterions
*@return
*/
public staticLogicalExpression and(Criterion... criterions){return newLogicalExpression(criterions, Operator.AND);
}/*** 或者
*@paramcriterions
*@return
*/
public staticLogicalExpression or(Criterion... criterions){return newLogicalExpression(criterions, Operator.OR);
}/*** 包含于
*@paramfieldName
*@paramvalue
*@return
*/@SuppressWarnings("rawtypes")public static LogicalExpression in(String fieldName, Collection value, booleanignoreNull) {if(ignoreNull&&(value==null||value.isEmpty())){return null;
}
SimpleExpression[] ses= newSimpleExpression[value.size()];int i=0;for(Object obj : value){
ses[i]=newSimpleExpression(fieldName,obj,Operator.EQ);
i++;
}return newLogicalExpression(ses,Operator.OR);
}
}