Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.velocity.util
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: ClassUtils.java 898032 2010-01-11 19:51:03Z nbubna $
Author:
  Will Glass-Husain

Method Summary
`static Class` | `getClass(String clazz)` Return the specified class.
`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.
`static Object` | `getNewInstance(String clazz)` Return a new instance of the given class.
`static InputStream` | `getResourceAsStream(Class claz, String name)` Finds a resource with the given name.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### 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 coresponding to the types in params.
    `o` - Object to introspect for the given method.
    `context` - Context from which the method cache is aquirred
    `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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2010 Apache Software Foundation. All Rights Reserved.