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

com.greenpepper.reflect.JavaTypeLoader Maven / Gradle / Ivy

There is a newer version: 4.2.4
Show newest version
package com.greenpepper.reflect;

/**
 * 

JavaTypeLoader class.

* * @author oaouattara * @version $Id: $Id */ public class JavaTypeLoader implements TypeLoader { private final Class type; private final java.lang.ClassLoader classLoader; /** *

Constructor for JavaTypeLoader.

* * @param type a {@link java.lang.Class} object. */ public JavaTypeLoader( Class type ) { this( type, Thread.currentThread().getContextClassLoader() ); } /** *

Constructor for JavaTypeLoader.

* * @param type a {@link java.lang.Class} object. * @param classLoader a {@link java.lang.ClassLoader} object. */ public JavaTypeLoader(Class type, java.lang.ClassLoader classLoader) { this.type = type; this.classLoader = classLoader; } /** {@inheritDoc} */ public void searchPackage(String prefix) { throw new UnsupportedOperationException(); } /** {@inheritDoc} */ public void addSuffix(String suffix) { throw new UnsupportedOperationException(); } /** {@inheritDoc} */ @SuppressWarnings("unchecked") public Type loadType(String name) { Class clazz = loadClass( name ); return classLoaded(clazz) && typeMatches(clazz) ? new Type(clazz) : null; } private boolean classLoaded(Class clazz) { return clazz != null; } private boolean typeMatches(Class clazz) { return type.isAssignableFrom(clazz); } /** *

loadClass.

* * @param name a {@link java.lang.String} object. * @return a {@link java.lang.Class} object. */ public Class loadClass(String name) { try { return classLoader.loadClass( name ); } catch (ClassNotFoundException notFound) { return null; } catch (NoClassDefFoundError notFound) { return null; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy