Class ClassUtils

java.lang.Object
org.apache.velocity.util.ClassUtils

public class ClassUtils extends Object
Simple utility functions for manipulating classes and resources from the classloader.
Since:
1.5
Version:
$Id$
Author:
Will Glass-Husain
  • Method Details

    • getClass

      public static Class<?> getClass(String clazz) throws ClassNotFoundException
      Return the specified class. Checks the ThreadContext classloader first, then uses the System classloader. Should replace all calls to Class.forName( claz ) (which only calls the System class loader) when the class might be in a different classloader (e.g. in a webapp).
      Parameters:
      clazz - the name of the class to instantiate
      Returns:
      the requested Class object
      Throws:
      ClassNotFoundException
    • getNewInstance

      public static Object getNewInstance(String clazz) throws ClassNotFoundException, IllegalAccessException, InstantiationException
      Return a new instance of the given class. Checks the ThreadContext classloader first, then uses the System classloader. Should replace all calls to Class.forName( claz ).newInstance() (which only calls the System class loader) when the class might be in a different classloader (e.g. in a webapp).
      Parameters:
      clazz - the name of the class to instantiate
      Returns:
      an instance of the specified class
      Throws:
      ClassNotFoundException
      IllegalAccessException
      InstantiationException
    • getResourceAsStream

      public static InputStream getResourceAsStream(Class<?> claz, String name)
      Finds a resource with the given name. Checks the Thread Context classloader, then uses the System classloader. Should replace all calls to Class.getResourceAsString when the resource might come from a different classloader. (e.g. a webapp).
      Parameters:
      claz - Class to use when getting the System classloader (used if no Thread Context classloader available or fails to get resource).
      name - name of the resource
      Returns:
      InputStream for the resource.
    • getMethod

      public static VelMethod getMethod(String methodName, Object[] params, Class<?>[] paramClasses, Object o, InternalContextAdapter context, SimpleNode node, boolean strictRef)
      Lookup a VelMethod object given the method signature that is specified in the passed in parameters. This method first searches the cache, if not found in the cache then uses reflections to inspect Object o, for the given method.
      Parameters:
      methodName - Name of method
      params - Array of objects that are parameters to the method
      paramClasses - Array of Classes corresponding to the types in params.
      o - Object to introspect for the given method.
      context - Context from which the method cache is acquired
      node - ASTNode, used for error reporting.
      strictRef - If no method is found, throw an exception, never return null in this case
      Returns:
      VelMethod object if the object is found, null if not matching method is found