/* ================================================================== * Created [2009-4-27 下午11:32:55] by Jon.King * ================================================================== * TSS * ================================================================== * mailTo:jinpujun@hotmail.com * Copyright (c) Jon.King, 2009-2012 * ================================================================== */ package com.jinhe.tss.component.support.persistence.pagequery; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; /** * 支持宏定义的查询条件类基类 */ public abstract class MacrocodeQueryCondition { /** * 分页信息对象 */ PageInfo page; /** * 排序字段,格式如 {"o.decode asc", "u.createdTime desc"} */ List<String> orderByFields; /** * 条件对象中不理睬的属性名称集合 */ Set<String> ignores; public PageInfo getPage() { if(page == null) { page = new PageInfo(); } return page; } public Set<String> getIgnoreProperties() { if(ignores == null) { ignores = new HashSet<String>(); ignores.add("orderByFields"); ignores.add("ignores"); ignores.add("page"); } return ignores; } public List<String> getOrderByFields() { if(orderByFields == null) { orderByFields = new ArrayList<String>(); } return orderByFields; } public void addOrderByFields(String orderByFields) { this.orderByFields.add(orderByFields); } /** * 获取条件查询HQL/SQL条件语句宏代码字典 * @return Map * 条件宏代码字典对象 */ public abstract Map<String, Object> getConditionMacrocodes(); }