package com.co.lane.card.jni; import java.util.HashMap; import java.util.Map; /** * 获取项目对象(所在扇区及块位置) * * @author xuyeding * */ public class CardMemoryFactory { // =================================== // 静态常量的值为传递过来对象中属性名称 // 通过反射自动获取字段对象扇区及块位置 // =================================== /** * 会员卡号 */ public static final String CARDNO = "CardNo"; /** * 积分 */ public static final String POINT = "Point"; /** * 会员状态 */ public static final String STATUS = "Status"; /** * 有效期开始 */ public static final String EFFECTIVEDATES = "EffectiveDateS"; /** * 有效期结束 */ public static final String EFFECTIVEDATEE = "EffectiveDateE"; /** * 会员ID */ public static final String ID = "ID"; /** * 开卡日期 */ public static final String ISSUEDATE = "IssueDate"; /** * 会员卡类型 */ public static final String CARDTYPE = "CardType"; /** * 会员名称 */ public static final String MENBERNAME = "MenberName"; /** * 手机号码 */ public static final String TELEPHONENO = "telephoneNo"; /** * 密码 */ public static final String PASSWORD = "password"; /** * 扇区及块分配容器 */ private static Map<String, CardMemory> mapCardMemory = new HashMap<String, CardMemory>(); static { mapCardMemory = new HashMap<String, CardMemory>(); // 会员卡号2区0字段 mapCardMemory.put(CARDNO, new CardMemory(CARDNO, 2, 0)); // 积分2区1字段 mapCardMemory.put(POINT, new CardMemory(POINT, 2,1)); mapCardMemory.put(STATUS, new CardMemory(STATUS, 3,0)); mapCardMemory.put(EFFECTIVEDATES, new CardMemory(EFFECTIVEDATES, 3, 1)); mapCardMemory.put(EFFECTIVEDATEE, new CardMemory(EFFECTIVEDATEE, 3, 2)); mapCardMemory.put(ID, new CardMemory(ID, 4,0)); mapCardMemory.put(ISSUEDATE, new CardMemory(ISSUEDATE, 4, 1)); mapCardMemory.put(CARDTYPE, new CardMemory(CARDTYPE, 4, 2)); // 名称占用7扇区的0,1,2块 mapCardMemory.put(MENBERNAME, new CardMemory(MENBERNAME, 7, 0, 3)); mapCardMemory.put(TELEPHONENO, new CardMemory(TELEPHONENO, 5,0)); mapCardMemory.put(PASSWORD, new CardMemory(PASSWORD, 5,1)); } private CardMemoryFactory(){ } /** * 返回项目对象(所在扇区及块位置) * * @param item * @return */ public static CardMemory createMemoryLocation(String item){ CardMemory cm = mapCardMemory.get(item); return cm; } /** * @return the mapCardMemory */ public static Map<String, CardMemory> getMapCardMemory() { return mapCardMemory; } }