public Class getGetterRawComponentType() { return getRawComponentType(); }
/** * Returns all bean property names. */ protected String[] getAllBeanPropertyNames(Class type, boolean declared) { ClassDescriptor classDescriptor = ClassIntrospector.lookup(type); PropertyDescriptor[] propertyDescriptors = classDescriptor.getAllPropertyDescriptors(); ArrayList<String> names = new ArrayList<>(propertyDescriptors.length); for (PropertyDescriptor propertyDescriptor : propertyDescriptors) { MethodDescriptor getter = propertyDescriptor.getReadMethodDescriptor(); if (getter != null) { if (getter.matchDeclared(declared)) { names.add(propertyDescriptor.getName()); } } else if (includeFields) { FieldDescriptor field = propertyDescriptor.getFieldDescriptor(); if (field != null) { if (field.matchDeclared(declared)) { names.add(field.getName()); } } } } return names.toArray(new String[names.size()]); }
int p = 0; for (FieldDescriptor f : fs) { if (f.isPublic()) { p++; FieldDescriptor fd4 = cd.getFieldDescriptor("f4", true); assertEquals(List.class, fd.getRawType()); assertEquals(Object.class, fd.getRawComponentType()); assertEquals(List.class, fd2.getRawType()); assertNull(fd2.getRawComponentType()); assertEquals(Map.class, fd3.getRawType()); assertEquals(Object.class, fd3.getRawComponentType()); assertEquals(List.class, fd4.getRawType()); assertEquals(Long.class, fd4.getRawComponentType()); assertEquals(List.class, fd.getRawType()); assertEquals(Integer.class, fd.getRawComponentType()); assertEquals(List.class, fd2.getRawType()); assertNull(fd2.getRawComponentType()); assertEquals(Map.class, fd3.getRawType()); assertEquals(Integer.class, fd3.getRawComponentType()); assertEquals(String.class, ClassUtil.getComponentTypes(fd3.getField().getGenericType(), cd.getType())[0]);
@Test void testNormal() { ClassDescriptor cd = ClassIntrospector.get().lookup(Normal.class); FieldDescriptor fd = cd.getFieldDescriptor("input", true); assertEquals(String.class, fd.getField().getType()); assertEquals(String.class, fd.getRawType()); fd = cd.getFieldDescriptor("output", true); assertEquals(Integer.class, fd.getField().getType()); assertEquals(Integer.class, fd.getRawType()); PropertyDescriptor pd = cd.getPropertyDescriptor("input", true); assertEquals(String.class, pd.getType()); pd = cd.getPropertyDescriptor("output", true); assertEquals(Integer.class, pd.getType()); }
public Class getGetterRawType() { return getRawType(); }
/** * Creates a {@link Getter}. */ protected Getter createGetter(boolean declared) { if (readMethodDescriptor != null) { if (readMethodDescriptor.matchDeclared(declared)) { return readMethodDescriptor; } } if (fieldDescriptor != null) { if (fieldDescriptor.matchDeclared(declared)) { return fieldDescriptor; } } return null; }
@Test void testFieldPrefix1withEmpty() { LifeBean lifeBean = new LifeBean(); String foo = BeanUtil.pojo.getProperty(lifeBean, "foo").toString(); assertEquals("foo", foo); ClassIntrospector.Implementation.set(new CachingIntrospector(true, true, true, new String[] {"_", ""})); foo = BeanUtil.pojo.getProperty(lifeBean, "foo").toString(); assertEquals("foo", foo); ClassDescriptor cd = ClassIntrospector.get().lookup(LifeBean.class); PropertyDescriptor[] pds = cd.getAllPropertyDescriptors(); assertEquals(3, pds.length); assertEquals("bar", pds[0].getName()); assertEquals("_bar", pds[0].getFieldDescriptor().getName()); assertEquals("www", pds[2].getName()); assertEquals("www", pds[2].getFieldDescriptor().getName()); ClassIntrospector.Implementation.set(new CachingIntrospector()); }
public Class getGetterRawKeyComponentType() { return getRawKeyComponentType(); }
/** * Creates new {@code FieldDescriptor}. */ protected FieldDescriptor createFieldDescriptor(Field field) { return new FieldDescriptor(classDescriptor, field); }
@Test void testGenAction() { ClassDescriptor cd = ClassIntrospector.get().lookup(GenAction.class); FieldDescriptor fd = cd.getFieldDescriptor("input", true); assertEquals(Object.class, fd.getField().getType()); assertEquals(String.class, fd.getRawType()); fd = cd.getFieldDescriptor("output", true); assertEquals(Object.class, fd.getField().getType()); assertEquals(Integer.class, fd.getRawType()); PropertyDescriptor pd = cd.getPropertyDescriptor("input", true); assertEquals(String.class, pd.getType()); pd = cd.getPropertyDescriptor("output", true); assertEquals(Integer.class, pd.getType()); pd = cd.getPropertyDescriptor("lina", true); assertEquals(String.class, pd.getType()); }
public Class getSetterRawType() { return getRawType(); }
/** * Creates a {@link Setter}. */ protected Setter createSetter(boolean declared) { if (writeMethodDescriptor != null) { if (writeMethodDescriptor.matchDeclared(declared)) { return writeMethodDescriptor; } } if (fieldDescriptor != null) { if (fieldDescriptor.matchDeclared(declared)) { return fieldDescriptor; } } return null; }
@Test void testFieldPrefix1() { LifeBean lifeBean = new LifeBean(); String foo = BeanUtil.pojo.getProperty(lifeBean, "foo").toString(); assertEquals("foo", foo); ClassIntrospector.Implementation.set(new CachingIntrospector(true, true, true, new String[] {"_"})); foo = BeanUtil.pojo.getProperty(lifeBean, "foo").toString(); assertEquals("foo", foo); ClassDescriptor cd = ClassIntrospector.get().lookup(LifeBean.class); PropertyDescriptor[] pds = cd.getAllPropertyDescriptors(); assertEquals(3, pds.length); assertEquals("bar", pds[0].getName()); assertEquals("_bar", pds[0].getFieldDescriptor().getName()); assertEquals("www", pds[2].getName()); assertEquals(null, pds[2].getFieldDescriptor()); ClassIntrospector.Implementation.set(new CachingIntrospector()); }
@Override public Class getGetterRawKeyComponentType() { return getRawKeyComponentType(); }
/** * Creates new {@code FieldDescriptor}. */ protected FieldDescriptor createFieldDescriptor(final Field field) { return new FieldDescriptor(classDescriptor, field); }
public Class getSetterRawComponentType() { return getRawComponentType(); }
/** * Returns all bean property names. */ protected String[] getAllBeanPropertyNames(final Class type, final boolean declared) { ClassDescriptor classDescriptor = ClassIntrospector.get().lookup(type); PropertyDescriptor[] propertyDescriptors = classDescriptor.getAllPropertyDescriptors(); ArrayList<String> names = new ArrayList<>(propertyDescriptors.length); for (PropertyDescriptor propertyDescriptor : propertyDescriptors) { MethodDescriptor getter = propertyDescriptor.getReadMethodDescriptor(); if (getter != null) { if (getter.matchDeclared(declared)) { names.add(propertyDescriptor.getName()); } } else if (includeFields) { FieldDescriptor field = propertyDescriptor.getFieldDescriptor(); if (field != null) { if (field.matchDeclared(declared)) { names.add(field.getName()); } } } } return names.toArray(new String[0]); }
@Override public Class getSetterRawType() { return getRawType(); }