Package joptsimple.internal
Class Reflection
- java.lang.Object
-
- joptsimple.internal.Reflection
-
public final class Reflection extends java.lang.Object
Helper methods for reflection.
-
-
Constructor Summary
Constructors Modifier Constructor Description private
Reflection()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static <V> ValueConverter<V>
constructorConverter(java.lang.Class<V> clazz)
static <V> V
convertWith(ValueConverter<V> converter, java.lang.String raw)
static <V> ValueConverter<V>
findConverter(java.lang.Class<V> clazz)
Finds an appropriate value converter for the given class.static <T> T
instantiate(java.lang.reflect.Constructor<T> constructor, java.lang.Object... args)
Invokes the given constructor with the given arguments.static java.lang.Object
invoke(java.lang.reflect.Method method, java.lang.Object... args)
Invokes the given static method with the given arguments.private static boolean
meetsConverterRequirements(java.lang.reflect.Method method, java.lang.Class<?> expectedReturnType)
private static java.lang.RuntimeException
reflectionException(java.lang.Exception ex)
private static <V> ValueConverter<V>
valueOfConverter(java.lang.Class<V> clazz)
-
-
-
Method Detail
-
findConverter
public static <V> ValueConverter<V> findConverter(java.lang.Class<V> clazz)
Finds an appropriate value converter for the given class.- Type Parameters:
V
- a constraint on the class object to introspect- Parameters:
clazz
- class to introspect on- Returns:
- a converter method or constructor
-
valueOfConverter
private static <V> ValueConverter<V> valueOfConverter(java.lang.Class<V> clazz)
-
constructorConverter
private static <V> ValueConverter<V> constructorConverter(java.lang.Class<V> clazz)
-
instantiate
public static <T> T instantiate(java.lang.reflect.Constructor<T> constructor, java.lang.Object... args)
Invokes the given constructor with the given arguments.- Type Parameters:
T
- constraint on the type of the objects yielded by the constructor- Parameters:
constructor
- constructor to invokeargs
- arguments to hand to the constructor- Returns:
- the result of invoking the constructor
- Throws:
ReflectionException
- in lieu of the gaggle of reflection-related exceptions
-
invoke
public static java.lang.Object invoke(java.lang.reflect.Method method, java.lang.Object... args)
Invokes the given static method with the given arguments.- Parameters:
method
- method to invokeargs
- arguments to hand to the method- Returns:
- the result of invoking the method
- Throws:
ReflectionException
- in lieu of the gaggle of reflection-related exceptions
-
convertWith
public static <V> V convertWith(ValueConverter<V> converter, java.lang.String raw)
-
meetsConverterRequirements
private static boolean meetsConverterRequirements(java.lang.reflect.Method method, java.lang.Class<?> expectedReturnType)
-
reflectionException
private static java.lang.RuntimeException reflectionException(java.lang.Exception ex)
-
-