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;
}
}