package com.yanzuoguang.dao.cond; import com.yanzuoguang.dao.impl.SqlData; import com.yanzuoguang.dao.impl.SqlDataField; import java.util.List; import java.util.Map; /** * 判断值是否满足条件 * * @author 颜佐光 */ public interface SqlCond<T extends SqlCond> { /** * 条件不满足 */ int COND_TYPE_NONE = 0; /** * 仅仅只是输入条件 */ int COND_TYPE_CONST_ONLY_PARA = 1; /** * 输入条件代码 */ int COND_TYPE_CODE_COND = 2; /** * 获取包含的字段 * * @return */ List<String> getFields(); /** * 获取字段值 * * @param model * @return */ List<Object> getValues(Object model); /** * 获取新的SQL语句 * * @param sql * @param sqlData * @param model * @param codeMap * @return */ String getSql(String sql, SqlData sqlData, SqlDataField field, Object model, Map<String, List<String>> codeMap); /** * 将当前条件复制为新的对象 * * @return */ SqlCond copy(); /** * 判断条件是否相等 * * @param cond * @return */ boolean equalsExecute(T cond); }