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

org.ontoware.rdfreactor.runtime.ReflectionUtils Maven / Gradle / Ivy

Go to download

RDFReactor creates domain-specific, type-safe Java classes which act as a view over domain-free, loosely typed RDF instances. This library needs to be shipped together with generated classes.

The newest version!
package org.ontoware.rdfreactor.runtime;

public class ReflectionUtils {

	/**
	 * @param classA
	 * @param classB
	 * @return true if classA is equal to or has as a direct or indirect
	 *         superclass classB. Or if it directely or indirectly implements B.
	 */
	public static boolean hasSuperClass(Class classA, Class classB) {
		// end recursion
		if (classA.equals(classB))
			return true;

		boolean superclass = false;

		// check superclass
		Class superClass = classA.getSuperclass();
		if (superClass != null) {
			if (superClass.equals(classB))
				superclass = true;
			else
				// recursion
				superclass = hasSuperClass(superClass, classB);
		}

		if (!superclass) {
			// check interfaces, recursively
			Class[] interfaces = classA.getInterfaces();
			for (Class interfaze : interfaces) {
				if (interfaze.equals(classB))
					return true;
				else {
					return hasSuperClass(interfaze, classB);
				}
			}
		}

		return superclass;

	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy