Package com.schibsted.spt.data.jslt.impl
Class FunctionWrapper
- java.lang.Object
-
- com.schibsted.spt.data.jslt.impl.FunctionWrapper
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classFunctionWrapper.BooleanJavaConverter(package private) static classFunctionWrapper.BooleanJsonConverter(package private) static classFunctionWrapper.DoubleJavaConverter(package private) static classFunctionWrapper.DoubleJsonConverter(package private) static classFunctionWrapper.FloatJsonConverter(package private) static classFunctionWrapper.IntJavaConverter(package private) static classFunctionWrapper.IntJsonConverter(package private) static classFunctionWrapper.LongJavaConverter(package private) static classFunctionWrapper.LongJsonConverter(package private) static classFunctionWrapper.StringJavaConverter(package private) static classFunctionWrapper.StringJsonConverter(package private) static interfaceFunctionWrapper.ToJavaConverter(package private) static interfaceFunctionWrapper.ToJsonConverter
-
Field Summary
Fields Modifier and Type Field Description private FunctionWrapper.ToJavaConverter[]convertersprivate java.lang.reflect.Methodmethodprivate java.lang.Stringnameprivate FunctionWrapper.ToJsonConverterreturnConverterprivate static java.util.Map<java.lang.Class,FunctionWrapper.ToJavaConverter>toJavaprivate static java.util.Map<java.lang.Class,FunctionWrapper.ToJsonConverter>toJson
-
Constructor Summary
Constructors Constructor Description FunctionWrapper(java.lang.String name, java.lang.reflect.Method method)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.fasterxml.jackson.databind.JsonNodecall(com.fasterxml.jackson.databind.JsonNode input, com.fasterxml.jackson.databind.JsonNode[] arguments)Perform the function on the given JSON input with the given arguments.intgetMaxArguments()The maximum number of arguments allowed.intgetMinArguments()The minimum number of arguments allowed.java.lang.StringgetName()The name of the function.private static FunctionWrapper.ToJavaConvertermakeJavaConverter(java.lang.Class type)private static FunctionWrapper.ToJsonConvertermakeJsonConverter(java.lang.Class type)
-
-
-
Field Detail
-
name
private java.lang.String name
-
method
private java.lang.reflect.Method method
-
converters
private FunctionWrapper.ToJavaConverter[] converters
-
returnConverter
private FunctionWrapper.ToJsonConverter returnConverter
-
toJava
private static java.util.Map<java.lang.Class,FunctionWrapper.ToJavaConverter> toJava
-
toJson
private static java.util.Map<java.lang.Class,FunctionWrapper.ToJsonConverter> toJson
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:FunctionThe name of the function.
-
getMinArguments
public int getMinArguments()
Description copied from interface:FunctionThe minimum number of arguments allowed.- Specified by:
getMinArgumentsin interfaceCallable- Specified by:
getMinArgumentsin interfaceFunction
-
getMaxArguments
public int getMaxArguments()
Description copied from interface:FunctionThe maximum number of arguments allowed.- Specified by:
getMaxArgumentsin interfaceCallable- Specified by:
getMaxArgumentsin interfaceFunction
-
call
public com.fasterxml.jackson.databind.JsonNode call(com.fasterxml.jackson.databind.JsonNode input, com.fasterxml.jackson.databind.JsonNode[] arguments)Description copied from interface:FunctionPerform the function on the given JSON input with the given arguments.
-
makeJavaConverter
private static FunctionWrapper.ToJavaConverter makeJavaConverter(java.lang.Class type)
-
makeJsonConverter
private static FunctionWrapper.ToJsonConverter makeJsonConverter(java.lang.Class type)
-
-