📄 jmentity.java.svn-base
字号:
package jm.util;
import java.lang.reflect.Method;
import java.util.Vector;
import jm.entity.EntityBean;
//import org.dom4j.Element;
/**
* JM数据管理基类
* @author ISHome(Spook)
* @since 1.4.0
* @see JDK 1.5.0.6
*/
@SuppressWarnings("unchecked")
public abstract class JMEntity {
/** 分隔符号 ;*/
public static final String SPLIT = ";";
/** XML保存数据数目 Size*/
public static final String XML_ROW_COUNT = "Size";
/** 项目路径名 Collom*/
public static final String XML_COLLOM = "Collom";
/** 项目路径名 Name*/
public static final String XML_NAME = "Name";
/** 数据路径名 Data/Row*/
public static final String XML_DATA = "Data";
/** 数据路径名 Row*/
public static final String XML_ROW = "Row";
/** 项目路径名 Collom/Name*/
public static final String XML_COLLOM_NAME = "Collom/Name";
/** 数据路径名 Data/Row*/
public static final String XML_DATA_ROW = "Data/Row";
/**
* ���ȫ��������返回项目列表����ƣ�
* @return String
*/
public abstract String getItems();
/**
* 清空保存信息���
*/
public abstract void clear();
/**
* 返回项目汉字名
* @return String
*/
public String getNames(){
return this.getClass().getName();
}
/**
* ��õ�ǰ��返回项目保留值
* @param itemName 项目英字名
* @return
*/
public String getFieldValue(String itemName){
try {
Class t_inClass = this.getClass();
String setMethodName = "get" + changeItemName(itemName);
Method s_method = t_inClass.getMethod(setMethodName,null);
Object t = JMUtility.changNvl(s_method.invoke(this,null));
return t.toString();
} catch (Exception ex) {
// ex.printStackTrace();
return null;
}
}
/**
* ��õ�ǰ��shezhi设置项目保留值
* @param itemName 项目英字名
* @param itemValue 项目保留值
* @return
*/
public void setFieldValue(String itemName,String itemValue){
try {
Class t_inClass = this.getClass();
String setMethodName = "set" + changeItemName(itemName);
Class[] STRING_TYPES = {String.class};
Method s_method = t_inClass.getMethod(setMethodName,STRING_TYPES);
if (!JMCheck.isNull(itemValue)) {
Object[] val = {itemValue};
s_method.invoke(this,val);
}
} catch (Exception ex) {
// ex.printStackTrace();
}
}
/**
* ���õ�ǰ��设置全体值信息
* @param values 内部值信息
* @return
*/
public void setValues(Vector values){
String[] items = getItems().split(SPLIT);
for(int i=0;i<items.length;i++){
if(values.size()<i){
return;
}
setFieldValue(items[i],""+values.get(i));
}
}
// /**
// * 返回全体值信息ȫ��
// * @return JMVector
// */
// public JMVector getValues(){
// JMVector values = new JMVector();
// String[] items = getItems().split(SPLIT);
// Class t_inClass = this.getClass();
// for(int i=0;i<items.length;i++){
// try {
// String setMethodName = "get" + items[i];
// Method s_method = t_inClass.getMethod(setMethodName,null);
// values.add(JMUtility.changNvl(s_method.invoke(this,new String[0])));
// } catch (Exception ex) {
// values.add("");
// }
// }
// return values;
// }
/**
* ��õ�ǰ��返回全体值信息��
* @return JMVector
*/
public JMVector getValuesList(){
JMVector values = new JMVector();
String[] items = getItems().split(SPLIT);
Class t_inClass = this.getClass();
for(int i=0;i<items.length;i++){
try {
String setMethodName = "get" + items[i];
Method s_method = t_inClass.getMethod(setMethodName,null);
values.add(JMUtility.changNvl(s_method.invoke(this,new String[0])));
} catch (Exception ex) {
values.add("");
}
}
return values;
}
/**
* ��õ�ǰ��返回全体信息(EntityBean保存)
* @return JMVector
*/
public JMVector toEntitiesList(){
JMVector values = new JMVector();
String[] items = getItems().split(SPLIT);
String[] names = getNames().split(SPLIT);
EntityBean bean = null;
Class t_inClass = this.getClass();
for(int i=0;i<items.length;i++){
try {
bean = new EntityBean();
String setMethodName = "get" + items[i];
Method s_method = t_inClass.getMethod(setMethodName,null);
bean.setKey(items[i]);
bean.setName(names[i]);
bean.setValue(JMUtility.changNvl(s_method.invoke(this,new String[0])));
values.add(bean);
} catch (Exception ex) {
values.add("");
}
}
return values;
}
/**
* 返回当前对象的副本��õ�ǰ�Ŀ�¡����
*/
public Object clone(){
try{
JMEntity clone = (JMEntity)Class.forName(this.getClass().getName()).newInstance();
JMUtility.reflectClass(this,clone);
return clone;
}catch(Exception e){
return null;
}
}
/**
* 返回类名(不包含包路径)
* @return
*/
public String getSimpleName(){
return super.getClass().getSimpleName();
}
// /**
// * 使用XML保存数据以便完全读取
// * @return
// * @throws Exception
// */
// public JMVector loadFromXML() {
// JMVector result = new JMVector();
// try{
// String filePath = CommandOftenKeys.DATA_DB_PATH+this.getSimpleName()+".xml" ;
// JMXmlReader r = new JMXmlReader(filePath);
// if(!r.reLoad()){
// return null;
// }
// String rootXPath ="/"+this.getSimpleName();
// String sizeXPath =rootXPath+"/"+XML_ROW_COUNT;
// String rowXPath =rootXPath+"/"+XML_DATA_ROW;
//// System.out.println(sizeXPath);
// int count = Integer.parseInt(r.getChildValue(sizeXPath));
// JMEntity classEntity = (JMEntity)Class.forName(this.getClass().getName()).newInstance();
// String[] cols = classEntity.getItems().split(SPLIT);
// for(int i=0;i<count;i++){
// classEntity = (JMEntity)Class.forName(this.getClass().getName()).newInstance();
//// String key = r.getChildValue(rowXPath+i+"/"+cols[0]);
// for(int m=0;m<cols.length;m++){
// classEntity.setFieldValue(cols[m],r.getChildValue(rowXPath+i+"/"+cols[m]));
// }
// result.add(classEntity);
// }
// }catch(Exception e){
// e.printStackTrace();
// return null;
// }
// return result;
// }
// /**
// * 使用XML保存数据以便完全读取
// * @return
// * @throws Exception
// */
// public boolean saveToXML(JMVector values) {
// try{
// String filePath = CommandOftenKeys.DATA_DB_PATH+this.getSimpleName()+".xml" ;
// JMXmlWriter writer = new JMXmlWriter(filePath);
// writer.createDocument(this.getSimpleName());
// Element root = writer.getRoot();
// //XML_ROW_COUNT
// root.addElement(XML_ROW_COUNT).addText(""+values.size());
// Element collom = root.addElement(XML_COLLOM);
// //XML_NAME
// JMEntity classEntity = (JMEntity)Class.forName(this.getClass().getName()).newInstance();
// String[] cols = classEntity.getItems().split(SPLIT);
// for(int m=0;m<cols.length;m++){
// collom.addElement(XML_NAME+m).addText(cols[m]);
// }
// Element date = root.addElement(XML_DATA);
// Element row = null;
// //XML_DATA_ROW
// for(int i=0;i<values.size();i++){
// row = date.addElement(XML_ROW+i);
// classEntity = (JMEntity)values.get(i);
// for(int m=0;m<cols.length;m++){
// row.addElement(cols[m]).addText("你知道我在等你吗,不知掉这个世界究竟是为了手机恩美");//classEntity.getFieldValue(cols[m]));
// }
// }
// writer.writePrettyFormat();
// }catch(Exception e){
// return false;
// }
// return true;
// }
// /**
// * 使用XML保存数据以便完全读取
// * @return
// * @throws Exception
// */
// public boolean saveToXML() {
// try{
// String filePath = CommandOftenKeys.DATA_DB_PATH+this.getSimpleName()+".xml" ;
// JMXmlWriter writer = new JMXmlWriter(filePath);
// writer.createDocument(this.getSimpleName());
// Element root = writer.getRoot();
// //XML_ROW_COUNT
// root.addElement(XML_ROW_COUNT).addText("1");
// Element collom = root.addElement(XML_COLLOM);
// //XML_NAME
// String[] cols = getItems().split(SPLIT);
// for(int m=0;m<cols.length;m++){
// collom.addElement(XML_NAME+m).addText(cols[m]);
// }
// Element date = root.addElement(XML_DATA);
// Element row = null;
// //XML_DATA_ROW
// row = date.addElement(XML_ROW+"0");
// for(int m=0;m<cols.length;m++){
// row.addElement(cols[m]).addText(getFieldValue(cols[m]));
// }
// writer.writePrettyFormat();
// }catch(Exception e){
// return false;
// }
// return true;
// }
//////////////////////////////////////////////////////
protected String changeItemName(String itemName){
String[] items = getItems().split(SPLIT);
String t = itemName.toLowerCase();
for(int i=0;i<items.length;i++){
if(t.equals(items[i].toLowerCase())){
t = items[i];
return t;
}
}
return itemName;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -