public final class Reflective
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.util.Set<java.lang.String> |
KEYWORDS |
static java.lang.String |
MAIN |
static java.lang.Object |
NO_MATCH |
Constructor and Description |
---|
Reflective() |
Modifier and Type | Method and Description |
---|---|
static java.lang.Object |
coerce(CommandSession session,
java.lang.Class<?> type,
java.lang.Object arg,
int[] convert)
converts given argument to specified type and increments convert[0] if any conversion was needed.
|
private static int |
coerce(CommandSession session,
java.lang.Object target,
java.lang.reflect.Method m,
java.lang.Class<?>[] types,
java.lang.Object[] out,
java.util.List<java.lang.Object> in)
Complex routein to convert the arguments given from the command line to
the arguments of the method call.
|
private static int |
docoerce(CommandSession session,
java.lang.Object target,
java.lang.reflect.Method m,
java.lang.Class<?>[] types,
java.lang.Object[] out,
java.util.List<java.lang.Object> in) |
static java.lang.Object |
invoke(CommandSession session,
java.lang.Object target,
java.lang.String name,
java.util.List<java.lang.Object> args)
invokes the named method on the given target using the supplied args,
which are converted if necessary.
|
private static java.lang.Class<?> |
primitiveToObject(java.lang.Class<?> type) |
private static java.lang.String |
toString(java.lang.Object arg) |
private static java.util.List<java.lang.Object> |
transformParameters(java.lang.reflect.Method method,
java.util.List<java.lang.Object> in)
transform name/value parameters into ordered argument list.
|
private static void |
writeValue(java.lang.StringBuilder sb,
java.lang.Object o) |
public static final java.lang.Object NO_MATCH
public static final java.lang.String MAIN
public static final java.util.Set<java.lang.String> KEYWORDS
public static java.lang.Object invoke(CommandSession session, java.lang.Object target, java.lang.String name, java.util.List<java.lang.Object> args) throws java.lang.Exception
java.lang.Exception
private static java.util.List<java.lang.Object> transformParameters(java.lang.reflect.Method method, java.util.List<java.lang.Object> in)
private static int coerce(CommandSession session, java.lang.Object target, java.lang.reflect.Method m, java.lang.Class<?>[] types, java.lang.Object[] out, java.util.List<java.lang.Object> in)
private static int docoerce(CommandSession session, java.lang.Object target, java.lang.reflect.Method m, java.lang.Class<?>[] types, java.lang.Object[] out, java.util.List<java.lang.Object> in)
public static java.lang.Object coerce(CommandSession session, java.lang.Class<?> type, java.lang.Object arg, int[] convert)
convert
- convert[0] is incremented according to the conversion needed,
to allow the "best" conversion to be determined.private static java.lang.String toString(java.lang.Object arg)
private static void writeValue(java.lang.StringBuilder sb, java.lang.Object o)
private static java.lang.Class<?> primitiveToObject(java.lang.Class<?> type)