Package org.atmosphere.util
Class IntrospectionUtils
- java.lang.Object
-
- org.atmosphere.util.IntrospectionUtils
-
public final class IntrospectionUtils extends java.lang.ObjectUtils for introspection and reflection
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceIntrospectionUtils.AttributeHolderstatic interfaceIntrospectionUtils.PropertySource
-
Constructor Summary
Constructors Constructor Description IntrospectionUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddJarsFromClassPath(java.util.Vector<java.net.URL> jars, java.lang.String cp)Add elements from the classpath cp to a Vector jars as file URLs (We use Vector for JDK 1.1 compat).static booleanaddProperty(java.lang.Object o, java.lang.String name, java.lang.String value)static voidaddToClassPath(java.util.Vector<java.net.URL> cpV, java.lang.String dir)Add all the jar files in a dir to the classpath, represented as a Vector of URLs.static voidaddToolsJar(java.util.Vector<java.net.URL> v)static voidcallMain(java.lang.Class<?> c, java.lang.String[] args)static java.lang.ObjectcallMethod0(java.lang.Object target, java.lang.String methodN)static java.lang.ObjectcallMethod1(java.lang.Object target, java.lang.String methodN, java.lang.Object param1, java.lang.String typeParam1, java.lang.ClassLoader cl)static java.lang.ObjectcallMethodN(java.lang.Object target, java.lang.String methodN, java.lang.Object[] params, java.lang.Class<?>[] typeParams)static java.lang.Stringcapitalize(java.lang.String name)Reverse of Introspector.decapitalizestatic voidclear()static java.lang.Objectconvert(java.lang.String object, java.lang.Class<?> paramType)static voidexecute(java.lang.Object proxy, java.lang.String method)Call execute() - any ant-like task should workstatic java.lang.String[]findBooleanSetters(java.lang.Class<?> c)static java.lang.reflect.MethodfindMethod(java.lang.Class<?> c, java.lang.String name, java.lang.Class<?>[] params)static java.lang.reflect.Method[]findMethods(java.lang.Class<?> c)static java.lang.String[]findVoidSetters(java.lang.Class<?> c)static java.lang.ObjectgetAttribute(java.lang.Object proxy, java.lang.String name)Call void getAttribute( String )static java.net.URL[]getClassPath(java.lang.String dir, java.lang.String cpath, java.lang.String cpathProp, boolean addTools)Construct a URL classpath from files in a directory, a cpath property, and tools.jar.static java.net.URL[]getClassPath(java.util.Vector<java.net.URL> v)Return a URL[] that can be used to construct a class loaderstatic java.lang.String[]getFilesByExt(java.lang.String ld, java.lang.String ext)Return all files with a given extension in a dirstatic java.lang.ObjectgetProperty(java.lang.Object object, java.lang.String name)static java.net.URLgetURL(java.lang.String base, java.lang.String file)Construct a file url from a file, using a base dirstatic booleanhasHook(java.lang.Object obj, java.lang.String methodN)Test if the object implements a particular methodstatic booleaninvokeProperty(java.lang.Object object, java.lang.String setter, java.lang.String name, java.lang.String value)static booleanprocessArgs(java.lang.Object proxy, java.lang.String[] args)static booleanprocessArgs(java.lang.Object proxy, java.lang.String[] args, java.lang.String[] args0, java.lang.String[] args1, java.util.Hashtable<java.lang.String,java.lang.String> aliases)static java.lang.StringreplaceProperties(java.lang.String value, java.util.Hashtable<java.lang.String,java.lang.String> staticProp, IntrospectionUtils.PropertySource[] dynamicProp)Replace ${NAME} with the property valuestatic voidsetAttribute(java.lang.Object proxy, java.lang.String name, java.lang.Object value)Call void setAttribute( String ,Object )static voidsetProperty(java.lang.Object object, java.lang.String name)static booleansetProperty(java.lang.Object o, java.lang.String name, java.lang.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 java.lang.StringunCapitalize(java.lang.String name)
-
-
-
Method Detail
-
execute
public static void execute(java.lang.Object proxy, java.lang.String method) throws java.lang.ExceptionCall execute() - any ant-like task should work- Throws:
java.lang.Exception
-
setAttribute
public static void setAttribute(java.lang.Object proxy, java.lang.String name, java.lang.Object value) throws java.lang.ExceptionCall void setAttribute( String ,Object )- Throws:
java.lang.Exception
-
getAttribute
public static java.lang.Object getAttribute(java.lang.Object proxy, java.lang.String name) throws java.lang.ExceptionCall void getAttribute( String )- Throws:
java.lang.Exception
-
setProperty
public static final boolean setProperty(java.lang.Object o, java.lang.String name, java.lang.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).
-
addProperty
public static final boolean addProperty(java.lang.Object o, java.lang.String name, java.lang.String value)
-
invokeProperty
public static final boolean invokeProperty(java.lang.Object object, java.lang.String setter, java.lang.String name, java.lang.String value)
-
getProperty
public static java.lang.Object getProperty(java.lang.Object object, java.lang.String name)
-
setProperty
public static void setProperty(java.lang.Object object, java.lang.String name)
-
replaceProperties
public static java.lang.String replaceProperties(java.lang.String value, java.util.Hashtable<java.lang.String,java.lang.String> staticProp, IntrospectionUtils.PropertySource[] dynamicProp)Replace ${NAME} with the property value
-
capitalize
public static java.lang.String capitalize(java.lang.String name)
Reverse of Introspector.decapitalize
-
unCapitalize
public static java.lang.String unCapitalize(java.lang.String name)
-
addToClassPath
public static void addToClassPath(java.util.Vector<java.net.URL> cpV, java.lang.String dir)Add all the jar files in a dir to the classpath, represented as a Vector of URLs.
-
addToolsJar
public static void addToolsJar(java.util.Vector<java.net.URL> v)
-
getFilesByExt
public static java.lang.String[] getFilesByExt(java.lang.String ld, java.lang.String ext)Return all files with a given extension in a dir
-
getURL
public static java.net.URL getURL(java.lang.String base, java.lang.String file)Construct a file url from a file, using a base dir
-
addJarsFromClassPath
public static void addJarsFromClassPath(java.util.Vector<java.net.URL> jars, java.lang.String cp) throws java.io.IOException, java.net.MalformedURLExceptionAdd elements from the classpath cp to a Vector jars as file URLs (We use Vector for JDK 1.1 compat).- Parameters:
jars- The jar listcp- a String classpath of directory or jar file elements separated by path.separator delimiters.- Throws:
java.io.IOException- If an I/O error occursjava.net.MalformedURLException- Doh ;)
-
getClassPath
public static java.net.URL[] getClassPath(java.util.Vector<java.net.URL> v)
Return a URL[] that can be used to construct a class loader
-
getClassPath
public static java.net.URL[] getClassPath(java.lang.String dir, java.lang.String cpath, java.lang.String cpathProp, boolean addTools) throws java.io.IOException, java.net.MalformedURLExceptionConstruct a URL classpath from files in a directory, a cpath property, and tools.jar.- Throws:
java.io.IOExceptionjava.net.MalformedURLException
-
processArgs
public static boolean processArgs(java.lang.Object proxy, java.lang.String[] args) throws java.lang.Exception- Throws:
java.lang.Exception
-
processArgs
public static boolean processArgs(java.lang.Object proxy, java.lang.String[] args, java.lang.String[] args0, java.lang.String[] args1, java.util.Hashtable<java.lang.String,java.lang.String> aliases) throws java.lang.Exception- Throws:
java.lang.Exception
-
clear
public static void clear()
-
findVoidSetters
public static java.lang.String[] findVoidSetters(java.lang.Class<?> c)
-
findBooleanSetters
public static java.lang.String[] findBooleanSetters(java.lang.Class<?> c)
-
findMethods
public static java.lang.reflect.Method[] findMethods(java.lang.Class<?> c)
-
findMethod
public static java.lang.reflect.Method findMethod(java.lang.Class<?> c, java.lang.String name, java.lang.Class<?>[] params)
-
hasHook
public static boolean hasHook(java.lang.Object obj, java.lang.String methodN)Test if the object implements a particular method
-
callMain
public static void callMain(java.lang.Class<?> c, java.lang.String[] args) throws java.lang.Exception- Throws:
java.lang.Exception
-
callMethod1
public static java.lang.Object callMethod1(java.lang.Object target, java.lang.String methodN, java.lang.Object param1, java.lang.String typeParam1, java.lang.ClassLoader cl) throws java.lang.Exception- Throws:
java.lang.Exception
-
callMethod0
public static java.lang.Object callMethod0(java.lang.Object target, java.lang.String methodN) throws java.lang.Exception- Throws:
java.lang.Exception
-
callMethodN
public static java.lang.Object callMethodN(java.lang.Object target, java.lang.String methodN, java.lang.Object[] params, java.lang.Class<?>[] typeParams) throws java.lang.Exception- Throws:
java.lang.Exception
-
convert
public static java.lang.Object convert(java.lang.String object, java.lang.Class<?> paramType)
-
-