org.apache.tomcat.util
Class IntrospectionUtils
public final
class
IntrospectionUtils
extends Object
Utils for introspection and reflection
Method Summary |
static void | addJarsFromClassPath(Vector jars, String cp)
Add elements from the classpath cp to a Vector jars as
file URLs (We use Vector for JDK 1.1 compat).
|
static void | addToClassPath(Vector cpV, String dir)
Add all the jar files in a dir to the classpath, represented as a Vector
of URLs. |
static void | addToolsJar(Vector v) |
static void | callMain(Class c, String[] args) |
static Object | callMethod0(Object target, String methodN) |
static Object | callMethod1(Object target, String methodN, Object param1, String typeParam1, ClassLoader cl) |
static Object | callMethodN(Object target, String methodN, Object[] params, Class[] typeParams) |
static String | capitalize(String name)
Reverse of Introspector.decapitalize |
static String | classPathAdd(URL[] urls, String cp)
Adds classpath entries from a vector of URL's to the "tc_path_add" System
property. |
static void | clear() |
static Object | convert(String object, Class paramType) |
static void | displayClassPath(String msg, URL[] cp)
Debug method, display the classpath |
static void | execute(Object proxy, String method)
Call execute() - any ant-like task should work |
static String[] | findBooleanSetters(Class c) |
static Method | findMethod(Class c, String name, Class[] params) |
static Method[] | findMethods(Class c) |
static String[] | findVoidSetters(Class c) |
static Object | getAttribute(Object proxy, String n)
Call void getAttribute( String ) |
static URL[] | getClassPath(Vector v)
Return a URL[] that can be used to construct a class loader |
static URL[] | getClassPath(String dir, String cpath, String cpathProp, boolean addTools)
Construct a URL classpath from files in a directory, a cpath property,
and tools.jar. |
static String[] | getFilesByExt(String ld, String ext)
Return all files with a given extension in a dir |
static Object | getProperty(Object o, String name) |
static URL | getURL(String base, String file)
Construct a file url from a file, using a base dir |
static ClassLoader | getURLClassLoader(URL[] urls, ClassLoader parent)
Construct a URLClassLoader. |
static String | guessInstall(String installSysProp, String homeSysProp, String jarName) |
static String | guessInstall(String installSysProp, String homeSysProp, String jarName, String classFile)
Guess a product install/home by analyzing the class path. |
static boolean | hasHook(Object obj, String methodN) Test if the object implements a particular
method |
static boolean | processArgs(Object proxy, String[] args) |
static boolean | processArgs(Object proxy, String[] args, String[] args0, String[] args1, Hashtable aliases) |
static String | replaceProperties(String value, Object getter)
Replace ${NAME} with the property value
|
static String | replaceProperties(String value, Hashtable staticProp, IntrospectionUtils.PropertySource[] dynamicProp)
Replace ${NAME} with the property value |
static void | setAttribute(Object proxy, String n, Object v)
Call void setAttribute( String ,Object ) |
static boolean | setProperty(Object o, String name, String value)
Find a method with the right name If found, call the method ( if param is
int or boolean we'll convert value to the right type before) - that means
you can have setDebug(1). |
static boolean | setProperty(Object o, String name, String value, boolean invokeSetProperty) |
static void | setProperty(Object o, String name) |
static String | unCapitalize(String name) |
public static String PATH_SEPARATOR
public static void addJarsFromClassPath(Vector jars, String cp)
Add elements from the classpath
cp to a Vector
jars as
file URLs (We use Vector for JDK 1.1 compat).
Parameters: jars The jar list cp a String classpath of directory or jar file elements
separated by path.separator delimiters.
Throws: IOException If an I/O error occurs MalformedURLException Doh ;)
public static void addToClassPath(Vector cpV, String dir)
Add all the jar files in a dir to the classpath, represented as a Vector
of URLs.
public static void addToolsJar(Vector v)
public static void callMain(Class c, String[] args)
public static Object callMethod0(Object target, String methodN)
public static Object callMethod1(Object target, String methodN, Object param1, String typeParam1, ClassLoader cl)
public static Object callMethodN(Object target, String methodN, Object[] params, Class[] typeParams)
public static String capitalize(String name)
Reverse of Introspector.decapitalize
public static String classPathAdd(URL[] urls, String cp)
Adds classpath entries from a vector of URL's to the "tc_path_add" System
property. This System property lists the classpath entries common to web
applications. This System property is currently used by Jasper when its
JSP servlet compiles the Java file for a JSP.
public static void clear()
public static Object convert(String object, Class paramType)
public static void displayClassPath(String msg, URL[] cp)
Debug method, display the classpath
public static void execute(Object proxy, String method)
Call execute() - any ant-like task should work
public static String[] findBooleanSetters(Class c)
public static Method findMethod(Class c, String name, Class[] params)
public static Method[] findMethods(Class c)
public static String[] findVoidSetters(Class c)
public static Object getAttribute(Object proxy, String n)
Call void getAttribute( String )
public static URL[] getClassPath(Vector v)
Return a URL[] that can be used to construct a class loader
public static URL[] getClassPath(String dir, String cpath, String cpathProp, boolean addTools)
Construct a URL classpath from files in a directory, a cpath property,
and tools.jar.
public static String[] getFilesByExt(String ld, String ext)
Return all files with a given extension in a dir
public static Object getProperty(Object o, String name)
public static URL getURL(String base, String file)
Construct a file url from a file, using a base dir
public static ClassLoader getURLClassLoader(URL[] urls, ClassLoader parent)
Construct a URLClassLoader. Will compile and work in JDK1.1 too.
public static String guessInstall(String installSysProp, String homeSysProp, String jarName)
public static String guessInstall(String installSysProp, String homeSysProp, String jarName, String classFile)
Guess a product install/home by analyzing the class path. It works for
product using the pattern: lib/executable.jar or if executable.jar is
included in classpath by a shell script. ( java -jar also works )
Insures both "install" and "home" System properties are set. If either or
both System properties are unset, "install" and "home" will be set to the
same value. This value will be the other System property that is set, or
the guessed value if neither is set.
public static boolean hasHook(Object obj, String methodN)
Test if the object implements a particular
method
public static boolean processArgs(Object proxy, String[] args)
public static boolean processArgs(Object proxy, String[] args, String[] args0, String[] args1, Hashtable aliases)
public static String replaceProperties(String value, Object getter)
Deprecated: Use the explicit method
Replace ${NAME} with the property value
Replace ${NAME} with the property value
public static void setAttribute(Object proxy, String n, Object v)
Call void setAttribute( String ,Object )
public static boolean setProperty(Object o, String name, String value)
Find a method with the right name If found, call the method ( if param is
int or boolean we'll convert value to the right type before) - that means
you can have setDebug(1).
public static boolean setProperty(Object o, String name, String value, boolean invokeSetProperty)
public static void setProperty(Object o, String name)
public static String unCapitalize(String name)
Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.