package com.jiuqi.mobile.nigo.comeclose.manager.base;
import java.lang.reflect.Field;
import java.util.Map;
import com.jiuqi.mobile.nigo.comeclose.bean.base.DataDictionaryBean;
import com.jiuqi.mobile.nigo.comeclose.exception.NiGoException;
import com.jiuqi.mobile.nigo.comeclose.manager.IManager;
import com.jiuqi.mobile.nigo.comeclose.manager.ManagerAnnotation;
import com.jiuqi.mobile.nigo.comeclose.portal.PortalAnnotation;
import com.jiuqi.mobile.nigo.comeclose.portal.PortalMethodAnnctation;
/**
* 数据字典
* @author modi
*
*/
@ManagerAnnotation(implClass="com.jiuqi.mobile.nigo.biz.core.dd.FieldDDUtils")
@PortalAnnotation(implClass = "com.jiuqi.mobile.nigo.biz.portal.DataDictionaryManagerPortalImpl")
public interface IDataDictionaryManager extends IManager{
public void put(DataDictionaryBean bean) throws NiGoException;
/**
* 依托于标签<link>DataDictionaryAnnotation</link>使用
* @param objectClass
* @param fieldName
* @param code
* @return
*/
public DataDictionaryBean get(Class<?> objectClass, String fieldName, int code);
/**
* 依托于标签<link>DataDictionaryAnnotation</link>使用
* @param obj
* @param fieldName
* @param code
* @return
*/
public DataDictionaryBean get(Object obj, String fieldName, int code);
/**
* 依托于标签<link>DataDictionaryAnnotation</link>使用
* @param obj
* @param fieldName
* @return
*/
public DataDictionaryBean get(Object obj, String fieldName);
/**
* 依托于标签<link>DataDictionaryAnnotation</link>使用
* @param obj
* @param field
* @return
*/
public DataDictionaryBean get(Object obj, Field field);
/**
* 依托于标签<link>DataDictionaryAnnotation</link>使用
* @param field
* @param code
* @return
*/
public DataDictionaryBean get(Field field, int code);
/**
* 通过字典mark和其code查询数据字典
* @param mark
* @param code
* @return
*/
@PortalMethodAnnctation
public DataDictionaryBean get(int mark, int code);
/**
* 通过GUID获取字典
* @param guid
* @return
*/
public DataDictionaryBean find(String guid);
/**
* 通过GUID删除字典
* @param guid
* @return
*/
public void delete(String guid);
/**
* 通过GUID获取字典
* @param guid
* @return
*/
public DataDictionaryBean get(String guid);
/**
* 通过mark数据字典列表
* @param mark
* @return
*/
@PortalMethodAnnctation
public DataDictionaryBean[] get(int mark);
/**
* 依托于标签<link>DataDictionaryAnnotation</link>使用
* @param objectClass
* @param fieldName
* @return
*/
public DataDictionaryBean[] get(Class<?> objectClass, String fieldName);
/**
* 依托于标签<link>DataDictionaryAnnotation</link>使用
* @param field
* @return
*/
public DataDictionaryBean[] get(Field field);
/**
* 批量获取数据字典
* @param marks
* @return
*/
@PortalMethodAnnctation
public Map<Integer, DataDictionaryBean[]> getMap(int... marks);
/**
* 获得所有数据字典
* @return
*/
public Map<Integer, DataDictionaryBean[]> getAll();
/**
* 获得指定pcode的数据字典集合
* @param mark
* @param pCode
* @return
*/
@PortalMethodAnnctation
public DataDictionaryBean[] getChilds(int mark, int pCode);
/**
* 获得模糊查询的所有字典
* @param fastFind
* @return
*/
public DataDictionaryBean[] getAll(String fastFind,String mark);
/**
* 获取所有markName
* @auth lizh
* @Date 2014-1-22下午6:07:43
* @method getAllMarkNames
* @fileName IDataDictionaryManager
* @package com.jiuqi.mobile.nigo.comeclose.manager.base
* @project comeclose
* @return
* @return Map<Integer,String>
*/
public Map<Integer, String> getAllMarkNames();
}