package eu.dnetlib.dhp.schema.common; import eu.dnetlib.dhp.schema.oaf.Oaf; /** * Inheritance utility methods. */ public class ModelSupport { private ModelSupport() { } /** * Checks subclass-superclass relationship. * * @param subClazzObject Subclass object instance * @param superClazzObject Superclass object instance * @param Subclass type * @param Superclass type * @return True if X is a subclass of Y */ public static Boolean isSubClass(X subClazzObject, Y superClazzObject) { return isSubClass(subClazzObject.getClass(), superClazzObject.getClass()); } /** * Checks subclass-superclass relationship. * * @param subClazzObject Subclass object instance * @param superClazz Superclass class * @param Subclass type * @param Superclass type * @return True if X is a subclass of Y */ public static Boolean isSubClass(X subClazzObject, Class superClazz) { return isSubClass(subClazzObject.getClass(), superClazz); } /** * Checks subclass-superclass relationship. * * @param subClazz Subclass class * @param superClazz Superclass class * @param Subclass type * @param Superclass type * @return True if X is a subclass of Y */ public static Boolean isSubClass(Class subClazz, Class superClazz) { return superClazz.isAssignableFrom(subClazz); } }