All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.magentys.utils.Clazz Maven / Gradle / Ivy

There is a newer version: 1.0.7
Show newest version
package io.magentys.utils;

public class Clazz {

    public static  boolean isClassOrSubclass(final Class clazz, final Class classOfAny) {
        return classOfAny.equals(clazz) ||
                clazz.isAssignableFrom(classOfAny) ||
                fromSuperClass(clazz, classOfAny) || extendedFrom(clazz, classOfAny);
    }

    private static  boolean fromSuperClass(final Class clazz, final Class classOfAny) {
        if (classOfAny.getSuperclass() == null) {
            return false;
        }
        return classOfAny.getSuperclass().equals(clazz);
    }

    private static  boolean extendedFrom(final Class clazz, final Class classOfAny) {
        if (clazz.getSuperclass() == null) {
            return false;
        }
        return clazz.getSuperclass().equals(classOfAny);
    }

}