public class StaticMethodGeometryFunction extends BaseGeometryFunction
GeometryFunction
which calls a static
Method
.Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
FUNCTIONS_SUFFIX |
private java.lang.reflect.Method |
method |
private static java.lang.String |
PARAM_NAME_COUNT |
private static java.lang.String |
PARAM_NAME_DISTANCE |
private static java.lang.String |
PARAM_NAME_TEXT |
category, description, name, parameterNames, parameterTypes, returnType
Constructor and Description |
---|
StaticMethodGeometryFunction(java.lang.String category,
java.lang.String name,
java.lang.String description,
java.lang.String[] parameterNames,
java.lang.Class[] parameterTypes,
java.lang.Class returnType,
java.lang.reflect.Method method) |
Modifier and Type | Method and Description |
---|---|
private static java.lang.Object[] |
createFullArgs(Geometry g,
java.lang.Object[] arg)
Creates an arg array which includes the target geometry as the first argument
|
static StaticMethodGeometryFunction |
createFunction(java.lang.reflect.Method method) |
private static java.lang.String[] |
defaultParamNames(java.lang.reflect.Method method) |
private static java.lang.String |
extractCategory(java.lang.String className) |
private static java.lang.String |
extractDescription(java.lang.reflect.Method method) |
private static java.lang.String[] |
extractParamNames(java.lang.reflect.Method method)
Java doesn't permit accessing the original code parameter names, unfortunately.
|
private static java.lang.Class[] |
extractParamTypes(java.lang.reflect.Method method) |
private static int |
firstScalarParamIndex(java.lang.reflect.Method method) |
static java.lang.String |
getClassname(java.lang.Class javaClass) |
private static java.lang.String |
invocationErrMsg(java.lang.reflect.InvocationTargetException ex) |
java.lang.Object |
invoke(Geometry g,
java.lang.Object[] arg)
Invokes this function.
|
static java.lang.Object |
invoke(java.lang.reflect.Method method,
java.lang.Object target,
java.lang.Object[] args) |
private static java.lang.String |
paramNamePrimary(java.lang.Class<?> clz) |
compareTo, equals, firstScalarParamIndex, getCategory, getDescription, getDoubleOrNull, getIntegerOrNull, getName, getParameterNames, getParameterTypes, getReturnType, getSignature, isBinary, isBinaryGeomFunction
private static final java.lang.String PARAM_NAME_TEXT
private static final java.lang.String PARAM_NAME_COUNT
private static final java.lang.String PARAM_NAME_DISTANCE
private static final java.lang.String FUNCTIONS_SUFFIX
private java.lang.reflect.Method method
public StaticMethodGeometryFunction(java.lang.String category, java.lang.String name, java.lang.String description, java.lang.String[] parameterNames, java.lang.Class[] parameterTypes, java.lang.Class returnType, java.lang.reflect.Method method)
public static StaticMethodGeometryFunction createFunction(java.lang.reflect.Method method)
private static java.lang.String extractCategory(java.lang.String className)
private static java.lang.String[] extractParamNames(java.lang.reflect.Method method)
method
- private static java.lang.String[] defaultParamNames(java.lang.reflect.Method method)
private static int firstScalarParamIndex(java.lang.reflect.Method method)
private static java.lang.String paramNamePrimary(java.lang.Class<?> clz)
private static java.lang.String extractDescription(java.lang.reflect.Method method)
private static java.lang.Class[] extractParamTypes(java.lang.reflect.Method method)
public java.lang.Object invoke(Geometry g, java.lang.Object[] arg)
GeometryFunction
RuntimeException
s.invoke
in interface GeometryFunction
invoke
in class BaseGeometryFunction
g
- the target geometryarg
- the other arguments to the functionprivate static java.lang.Object[] createFullArgs(Geometry g, java.lang.Object[] arg)
g
- arg
- public static java.lang.Object invoke(java.lang.reflect.Method method, java.lang.Object target, java.lang.Object[] args)
private static java.lang.String invocationErrMsg(java.lang.reflect.InvocationTargetException ex)
public static java.lang.String getClassname(java.lang.Class javaClass)