package jef.tools; import java.io.IOException; import jef.accelerator.bean.BeanAccessor; import jef.accelerator.bean.FastBeanWrapperImpl; import jef.common.log.LogUtil; import jef.tools.reflect.BeanUtils; import jef.tools.reflect.BeanWrapper; import jef.tools.reflect.FieldEx; import jef.tools.reflect.MethodEx; import jef.tools.reflect.Property; import org.junit.Test; public class BeanWrapperTest { @Test public void test1() { BeanForTest t = new BeanForTest(); BeanWrapper wr = BeanWrapper.wrap(t); System.out.println(wr.getPropertyNames()); System.out.println(wr.isProperty("cSessionId")); System.out.println(wr.isProperty("tt1")); if(wr.isProperty("tt1")){ LogUtil.show(wr.getPropertyRawType("tt1")); LogUtil.show(wr.getPropertyType("tt1")); } for (String s : wr.getPropertyNames()) { Property p = wr.getProperty(s); System.out.println("================="); System.out.println(p.getName()); System.out.println(p.getGenericType()); System.out.println(p.getType()); } } @Test public void testAsdsad() throws IOException, ClassNotFoundException{ checkField(BeanForTest.class,"cSessionId"); checkField(BeanForTest.class,"i"); checkField(BeanForTest.class,"iB"); checkField(BeanForTest.class,"iC"); checkField(BeanForTest.class,"isBoolean"); checkField(BeanForTest.class,"iSBoolean"); // String m = "2、95开头靓号,呼出显号,对方可以打回,即使不在线亦可设置呼转手机,不错过任何重要电话,不暴露真实身份。\r\n3、应用内完全免费发送文字消息、语音对讲。\r\n4、建议WIFI 或 3G 环境下使用以获得最佳通话体验"; // JSONObject json = new JSONObject(); // json.put("介绍", m); // String content = json.toJSONString(); // System.out.println(content); // TypeUtils.compatibleWithJavaBean = true; // Person t = new Person(); // t.setcSessionId(123); // System.out.println(JsonUtil.toJson(t)); } private void checkField(Class<BeanForTest> class1, String field) { FieldEx ex=BeanUtils.getField(BeanForTest.class, field); MethodEx m1=BeanUtils.getGetter(ex); MethodEx m2=BeanUtils.getSetter(ex); Assert.notNull(m1); Assert.notNull(m2); } @Test public void test2() { BeanAccessor ba=FastBeanWrapperImpl.getAccessorFor(Foo.class); System.out.println(ba.getClass().getSuperclass()); System.out.println(ba); System.out.println(ba.newInstance()); System.out.println(ba.getType()); BeanWrapper bw=BeanWrapper.wrap(new Foo()); bw.setPropertyValue("ab1", null); System.out.println(bw.getPropertyValue("ab1")); bw=BeanWrapper.wrap(new BeanForTest()); bw.setPropertyValue("id", null); System.out.println(bw.getPropertyValue("id")); } @Test public void sdfdsf(){ System.out.println("ab1".hashCode()); System.out.println("aaP".hashCode()); } }