public ClassDescriptor(final Class type, final boolean scanAccessible, final boolean extendedProperties, final boolean includeFieldsAsProperties, final String[] propertyFieldPrefix) { this.type = type; this.scanAccessible = scanAccessible; this.extendedProperties = extendedProperties; this.includeFieldsAsProperties = includeFieldsAsProperties; this.propertyFieldPrefix = propertyFieldPrefix; isArray = type.isArray(); isMap = ClassUtil.isTypeOf(type, Map.class); isList = ClassUtil.isTypeOf(type, List.class); isSet = ClassUtil.isTypeOf(type, Set.class); isCollection = ClassUtil.isTypeOf(type, Collection.class); isSupplier = ClassUtil.isTypeOf(type, Supplier.class); interfaces = ClassUtil.resolveAllInterfaces(type); superclasses = ClassUtil.resolveAllSuperclasses(type); }
@Test void testResolveAllSuperclsses() { Class[] subclasses = ClassUtil.resolveAllSuperclasses(User.class); assertEquals(0, subclasses.length); subclasses = ClassUtil.resolveAllSuperclasses(SuperUser.class); assertEquals(1, subclasses.length); assertEquals(User.class, subclasses[0]); subclasses = ClassUtil.resolveAllSuperclasses(SuperMan.class); assertEquals(2, subclasses.length); assertEquals(SuperUser.class, subclasses[0]); assertEquals(User.class, subclasses[1]); subclasses = ClassUtil.resolveAllSuperclasses(Cool.class); assertEquals(0, subclasses.length); subclasses = ClassUtil.resolveAllSuperclasses(Flying.class); assertEquals(0, subclasses.length); subclasses = ClassUtil.resolveAllSuperclasses(SuperMario.class); assertEquals(0, subclasses.length); subclasses = ClassUtil.resolveAllSuperclasses(Object.class); assertEquals(0, subclasses.length); subclasses = ClassUtil.resolveAllSuperclasses(int.class); assertEquals(0, subclasses.length); subclasses = ClassUtil.resolveAllSuperclasses(int[].class); assertEquals(0, subclasses.length); subclasses = ClassUtil.resolveAllSuperclasses(Integer[].class); assertEquals(0, subclasses.length); }
public ClassDescriptor(final Class type, final boolean scanAccessible, final boolean extendedProperties, final boolean includeFieldsAsProperties, final String[] propertyFieldPrefix) { this.type = type; this.scanAccessible = scanAccessible; this.extendedProperties = extendedProperties; this.includeFieldsAsProperties = includeFieldsAsProperties; this.propertyFieldPrefix = propertyFieldPrefix; isArray = type.isArray(); isMap = ClassUtil.isTypeOf(type, Map.class); isList = ClassUtil.isTypeOf(type, List.class); isSet = ClassUtil.isTypeOf(type, Set.class); isCollection = ClassUtil.isTypeOf(type, Collection.class); isSupplier = ClassUtil.isTypeOf(type, Supplier.class); interfaces = ClassUtil.resolveAllInterfaces(type); superclasses = ClassUtil.resolveAllSuperclasses(type); }