📄 beanhelper.java
字号:
package com.whatratimes.dbms;
import java.util.Hashtable;
import java.util.Enumeration;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
/**
* User: Tao
* Date: May 13, 2003
* Time: 9:38:16 PM
*/
public class BeanHelper
{
private static Hashtable ClassFields = new Hashtable();
public static Hashtable getValues(Object this_bean)
{
Hashtable prop = new Hashtable();
Hashtable fields = getFields(this_bean);
if (fields.isEmpty())
{
return prop;
}
Enumeration enu = fields.keys();
while (enu.hasMoreElements())
{
String this_field_name = enu.nextElement().toString();
Field this_field = (Field) fields.get(this_field_name);
try
{
prop.put(this_field_name, this_field.get(this_bean));
} catch (Exception e)
{
e.printStackTrace();
}
}
return prop;
}
public static void setValues(Object this_bean, Hashtable values)
{
Hashtable fields = getFields(this_bean);
if (fields.isEmpty())
{
return;
}
Enumeration enu = values.keys();
while (enu.hasMoreElements())
{
String this_field_name = enu.nextElement().toString();
if (!fields.containsKey(this_field_name))
{
continue;
}
Object this_field_value = values.get(this_field_name);
Field this_field = (Field) fields.get(this_field_name);
try
{
this_field.set(this_bean, this_field_value);
} catch (Exception e)
{
e.printStackTrace();
}
}
return;
}
public static void setValue(Object this_bean, String field_name, Object field_value)
{
Hashtable fields = getFields(this_bean);
if (fields.isEmpty())
{
return;
}
if (fields.containsKey(field_name))
{
Field this_field = (Field) fields.get(field_name);
try
{
this_field.set(this_bean, field_value);
} catch (Exception e)
{
e.printStackTrace();
}
}
return;
}
private static Hashtable generateFields(Object this_bean)
{
Hashtable fs = new Hashtable();
Field[] fields = this_bean.getClass().getFields();
for (int i = 0; i < fields.length; i++)
{
int m = fields[i].getModifiers();
if (Modifier.isStatic(m) || Modifier.isFinal(m) || (!Modifier.isPublic(m)))
{
continue;
}
fs.put(fields[i].getName(), fields[i]);
}
return fs;
}
private static Hashtable getFields(Object this_bean)
{
Hashtable fs = (Hashtable) ClassFields.get(this_bean.getClass().getName());
if (fs == null)
{
fs = generateFields(this_bean);
ClassFields.put(this_bean.getClass().getName(), fs);
}
return fs;
}
public static void keepFields ( Object this_bean )
{
getFields( this_bean );
}
public static void keepFields ( String table_name )
{
try
{
getFields( Class.forName(DBHelper.TABLE_PACKAGE_PREFIX + table_name).newInstance() );
} catch (Exception e)
{
e.printStackTrace();
}
}
public static boolean containsField ( String class_name, String field_name)
{
Object obj = ClassFields.get(DBHelper.TABLE_PACKAGE_PREFIX + class_name);
if ( obj == null )
{
return false;
}
return ((Hashtable)obj).containsKey(field_name);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -