All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.cassite.daf4j.Parameter Maven / Gradle / Ivy

The newest version!
package net.cassite.daf4j;

import net.cassite.daf4j.stream.QueryStream;

/**
 * 可放入where中作为条件一部分的参数
* e.g. name.$eq('cass') */ public abstract class Parameter { /** * 该字段与给定值相等 * * @param obj 要判断相等的对象 * @return 条件 */ public Condition $eq(Object obj) { return new Condition(this, ConditionTypes.eq, new Object[]{obj}); } /** * 该字段与给定值不相等 * * @param obj 要判断不相等的对象 * @return 条件 */ public Condition $ne(Object obj) { return new Condition(this, ConditionTypes.ne, new Object[]{obj}); } /** * 该字段存在于子查询中 * * @param query 子查询 * @return 条件 */ public Condition in(PreResult query) { return new Condition(this, ConditionTypes.in, new Object[]{query}); } /** * 该字段存在于子查询中 * * @param query 子查询 * @return 条件 */ public Condition in(QueryStream query) { return in(query.toPreRes()); } /** * 该字段不存在于子查询中 * * @param query 子查询 * @return 条件 */ public Condition notIn(PreResult query) { return new Condition(this, ConditionTypes.notIn, new Object[]{query}); } /** * 该字段不存在于子查询中 * * @param query 子查询 * @return 条件 */ public Condition notIn(QueryStream query) { return notIn(query.toPreRes()); } /** * 该字段与给定值相似
* e.g. sql中的like语句,应当用+将它们连接起来 * * @param obj 给定值 * @return 条件 */ public Condition like(Object... obj) { return new Condition(this, ConditionTypes.like, new Object[]{obj}); } /** * 该字段是空的 * * @return 条件 */ public Condition isNull() { return new Condition(this, ConditionTypes.isNull, new Object[0]); } /** * 该字段非空 * * @return 条件 */ public Condition isNotNull() { return new Condition(this, ConditionTypes.isNotNull, new Object[0]); } /** * 该字段属于某个集合 * * @param pc 要判断的集合 * @return 条件 */ public Condition member(ParameterAggregate pc) { return new Condition(this, ConditionTypes.member, new Object[]{pc}); } /** * 该字段不属于某个集合 * * @param pc 要判断的集合 * @return 条件 */ public Condition notMember(ParameterAggregate pc) { return new Condition(this, ConditionTypes.notMember, new Object[]{pc}); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy