Example usage for org.apache.commons.lang3 ClassUtils getAllSuperclasses

List of usage examples for org.apache.commons.lang3 ClassUtils getAllSuperclasses

Introduction

In this page you can find the example usage for org.apache.commons.lang3 ClassUtils getAllSuperclasses.

Prototype

public static List<Class<?>> getAllSuperclasses(final Class<?> cls) 

Source Link

Document

Gets a List of superclasses for the given class.

Usage

From source file:org.apache.syncope.core.persistence.jpa.entity.JPAAnyUtils.java

private static void initFieldNames(final Class<?> entityClass, final Set<String> keys) {
    List<Class<?>> classes = ClassUtils.getAllSuperclasses(entityClass);
    classes.add(entityClass);/*from w  w  w .  j  a  v a2 s  .  c  o m*/
    for (Class<?> clazz : classes) {
        for (Field field : clazz.getDeclaredFields()) {
            if (!Modifier.isStatic(field.getModifiers()) && !field.getName().startsWith("pc")
                    && !Collection.class.isAssignableFrom(field.getType())
                    && !Map.class.isAssignableFrom(field.getType())) {

                keys.add("id".equals(field.getName()) ? "key" : field.getName());
            }
        }
    }
}

From source file:org.apache.syncope.core.persistence.jpa.validation.entity.SchemaNameValidator.java

private static void initUnallowedSchemaNames(final Class<?> entityClass, final Set<String> names) {
    List<Class<?>> classes = ClassUtils.getAllSuperclasses(entityClass);
    if (!classes.contains(JPAUser.class)) {
        classes.add(JPAUser.class);
    }//from   w w w.  j a  va2  s. c o  m
    for (Class<?> clazz : classes) {
        for (Field field : clazz.getDeclaredFields()) {
            if (!Collection.class.isAssignableFrom(field.getType())
                    && !Map.class.isAssignableFrom(field.getType())) {

                names.add(field.getName());
            }
        }
    }
}

From source file:org.apache.syncope.core.persistence.validation.entity.SchemaNameValidator.java

private static void initUnallowedSchemaNames(final Class<?> entityClass, final List<String> names) {
    List<Class<?>> classes = ClassUtils.getAllSuperclasses(entityClass);
    classes.add(SyncopeUser.class);
    for (Class<?> clazz : classes) {
        for (Field field : clazz.getDeclaredFields()) {
            if (!Collection.class.isAssignableFrom(field.getType())
                    && !Map.class.isAssignableFrom(field.getType())) {

                names.add(field.getName());
            }//from  w  ww. jav  a  2  s.  co  m
        }
    }
}

From source file:org.bonitasoft.engine.business.data.impl.jackson.EntityBeanSerializerModifier.java

private static boolean shouldBeIgnored(BeanDescription beanDescription) {
    JavaType type = beanDescription.getType();
    Class<?> rawClass = type.getRawClass();
    if (LOG.isTraceEnabled()) {
        LOG.trace("Checking if it has to be ignored - {} / {}", type, rawClass);
        LOG.trace("Interfaces: {}", getNames(ClassUtils.getAllInterfaces(rawClass)));
        LOG.trace("Superclasses: {}", getNames(ClassUtils.getAllSuperclasses(rawClass)));
    }// ww w  .j a v a2 s .  com
    if (MethodHandler.class.isAssignableFrom(rawClass) || Proxy.class.isAssignableFrom(rawClass)) {
        return true;
    }
    return false;
}

From source file:org.craftercms.commons.jackson.mvc.GDataPropertyFilter.java

protected String getMostSuperClassName(Class<?> clazz) {
    if (!superClassCache.containsKey(clazz.getName())) {
        List<Class<?>> superClasses = ClassUtils.getAllSuperclasses(clazz);
        // WE don't count object
        String className;//  w w  w .  j  av a2  s.com
        if (superClasses.size() == 1) {
            className = clazz.getSimpleName();
        } else {
            className = superClasses.get(0).getSimpleName();
        }
        superClassCache.put(clazz.getName(), className);
    }
    return superClassCache.get(clazz.getName());
}

From source file:org.evosuite.utils.generic.GenericClass.java

/**
 * <p>/* w ww  . ja v  a  2s  . co m*/
 * isSubclass
 * </p>
 * 
 * @param superclass
 *            a {@link java.lang.reflect.Type} object.
 * @param subclass
 *            a {@link java.lang.reflect.Type} object.
 * @return a boolean.
 */
public static boolean isSubclass(Type superclass, Type subclass) {
    List<Class<?>> superclasses = ClassUtils.getAllSuperclasses((Class<?>) subclass);
    List<Class<?>> interfaces = ClassUtils.getAllInterfaces((Class<?>) subclass);
    if (superclasses.contains(superclass) || interfaces.contains(superclass)) {
        return true;
    }

    return false;
}

From source file:org.jboss.qa.phaser.InstanceRegistry.java

public static void insert(Object o) {
    insert(o, o.getClass());//from  w ww.j  a  v a 2 s  .  c o m
    insert(o, ClassUtils.getAllInterfaces(o.getClass()));
    insert(o, ClassUtils.getAllSuperclasses(o.getClass()));
}

From source file:org.jboss.qa.phaser.registry.SimpleInstanceRegistry.java

public void insert(Object o) {
    insert(o, o.getClass());
    insert(o, ClassUtils.getAllInterfaces(o.getClass()));
    insert(o, ClassUtils.getAllSuperclasses(o.getClass()));
}

From source file:org.mqnaas.general.test.helpers.reflection.ReflectionTestHelper.java

/**
 * Injects a private {@link Field} fieldInstance (instance of F) into classInstance (instance of T). It uses fieldName to look for private field.
 * /*w w w .  j  av  a  2  s .co  m*/
 * @param classInstance
 *            target instance
 * @param fieldInstance
 *            field instance to be injected
 * @param fieldName
 *            target field name
 * @throws SecurityException
 *             if this exception is thrown during the process
 * @throws IllegalArgumentException
 *             if fieldName could not be found in classInstance {@link Class} or if fieldInstance is not a compatible type to be injected
 * @throws IllegalAccessException
 *             if this exception is thrown during the process
 */
public static <T, F> void injectPrivateField(T classInstance, F fieldInstance, String fieldName)
        throws SecurityException, IllegalArgumentException, IllegalAccessException {

    // get all super classes and add itself
    List<Class<?>> classes = ClassUtils.getAllSuperclasses(classInstance.getClass());
    classes.add(classInstance.getClass());

    for (Class<?> clazz : classes) {

        Field field;
        try {
            field = clazz.getDeclaredField(fieldName);
        } catch (NoSuchFieldException e) {
            // try next class
            continue;
        }
        if (!field.getType().isAssignableFrom(fieldInstance.getClass())) {
            throw new IllegalArgumentException(
                    "Invalid fieldName received, fieldInstance can not assigned to field.");
        }

        field.setAccessible(true);
        field.set(classInstance, fieldInstance);
        field.setAccessible(false);
        return;

    }

    throw new IllegalArgumentException(
            "Invalid fieldName received, a field with this name can not be found in this class or its superclasses.");
}

From source file:yoyo.framework.standard.shared.commons.lang.ClassUtilsTest.java

@Test
public void test() throws ClassNotFoundException, SecurityException, NoSuchMethodException {
    List<Class<?>> classes = new ArrayList<Class<?>>() {
        {// w w w  . ja v a2s  .co m
            add(Integer.class);
            add(Long.class);
        }
    };
    assertThat(ClassUtils.convertClassesToClassNames(classes).toArray(),
            is(new Object[] { "java.lang.Integer", "java.lang.Long" }));
    List<String> classNames = new ArrayList<String>() {
        {
            add("java.lang.Integer");
            add("java.lang.Long");
        }
    };
    assertThat(ClassUtils.convertClassNamesToClasses(classNames).toArray(), is(classes.toArray()));
    assertThat(ClassUtils.getAllInterfaces(String.class).toArray(), is(new Object[] {
            java.io.Serializable.class, java.lang.Comparable.class, java.lang.CharSequence.class }));
    assertThat(ClassUtils.getAllSuperclasses(HashMap.class).toArray(),
            is(new Object[] { java.util.AbstractMap.class, java.lang.Object.class }));
    assertThat(ClassUtils.getClass("java.lang.String").toString(), is("class java.lang.String"));
    assertThat(ClassUtils.getPackageCanonicalName(String.class), is("java.lang"));
    assertThat(ClassUtils.getPackageName(String.class), is("java.lang"));
    assertThat(ClassUtils.getPublicMethod(String.class, "length", new Class[] {}), is(not(nullValue())));
    assertThat(ClassUtils.getShortCanonicalName(String.class), is("String"));
    assertThat(ClassUtils.getShortClassName(String.class), is("String"));
    assertThat(ClassUtils.getSimpleName(String.class), is("String"));
    assertThat(ClassUtils.isAssignable(String.class, Object.class), is(true));
    assertThat(ClassUtils.isInnerClass(Foo.class), is(true));
    assertThat(ClassUtils.isInnerClass(String.class), is(false));
    assertThat(ClassUtils.isPrimitiveOrWrapper(Integer.class), is(true));
    assertThat(ClassUtils.isPrimitiveOrWrapper(String.class), is(false));
    assertThat(ClassUtils.isPrimitiveWrapper(Integer.class), is(true));
    assertThat(ClassUtils.isPrimitiveWrapper(String.class), is(false));
    assertThat(ClassUtils.primitivesToWrappers(new Class[] { Integer.class, Long.class }),
            is(not(nullValue())));
    assertThat(ClassUtils.primitiveToWrapper(Integer.class), is(not(nullValue())));
    assertThat(ClassUtils.toClass(1L, 2L), is(not(nullValue())));
    assertThat(ClassUtils.wrappersToPrimitives(new Class[] { Integer.class, Long.class }),
            is(not(nullValue())));
    assertThat(ClassUtils.wrapperToPrimitive(Integer.class), is(not(nullValue())));
}