Class TypeLoader

java.lang.Object
org.fest.reflect.type.TypeLoader

public final class TypeLoader extends Object
Understands loading a class dynamically using a specific ClassLoader.
Since:
1.1
  • Field Details

    • name

      private final String name
    • classLoader

      private final ClassLoader classLoader
  • Constructor Details

  • Method Details

    • newLoader

      static TypeLoader newLoader(String name, ClassLoader classLoader)
    • load

      public Class<?> load()
      Loads the class with the name specified in this type, using this class' ClassLoader.

      Example:

       Class<?> type = type("org.republic.Jedi").withClassLoader(myClassLoader).load();
       

      Returns:
      the loaded class.
      Throws:
      ReflectionError - wrapping any error that occurred during class loading.
    • loadAs

      public <T> Class<? extends T> loadAs(Class<T> type)
      Loads the class with the name specified in this type, as the given type, using this class' ClassLoader.

      The following example shows how to use this method. Let's assume that we have the class Jedi that extends the class Person:

       Class<Person> type = type("org.republic.Jedi").withClassLoader(myClassLoader).loadAs(Person.class);
       

      Type Parameters:
      T - the generic type of the type.
      Parameters:
      type - the given type.
      Returns:
      the loaded class.
      Throws:
      NullPointerException - if the given type is null.
      ReflectionError - wrapping any error that occurred during class loading.
    • unableToLoadClassMessage

      private String unableToLoadClassMessage(Class<?> asType)
    • loadType

      private Class<?> loadType() throws ClassNotFoundException
      Throws:
      ClassNotFoundException