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 class
FunctionWrapper.BooleanJavaConverter
(package private) static class
FunctionWrapper.BooleanJsonConverter
(package private) static class
FunctionWrapper.DoubleJavaConverter
(package private) static class
FunctionWrapper.DoubleJsonConverter
(package private) static class
FunctionWrapper.FloatJsonConverter
(package private) static class
FunctionWrapper.IntJavaConverter
(package private) static class
FunctionWrapper.IntJsonConverter
(package private) static class
FunctionWrapper.LongJavaConverter
(package private) static class
FunctionWrapper.LongJsonConverter
(package private) static class
FunctionWrapper.StringJavaConverter
(package private) static class
FunctionWrapper.StringJsonConverter
(package private) static interface
FunctionWrapper.ToJavaConverter
(package private) static interface
FunctionWrapper.ToJsonConverter
-
Field Summary
Fields Modifier and Type Field Description private FunctionWrapper.ToJavaConverter[]
converters
private java.lang.reflect.Method
method
private java.lang.String
name
private FunctionWrapper.ToJsonConverter
returnConverter
private static java.util.Map<java.lang.Class,FunctionWrapper.ToJavaConverter>
toJava
private 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.JsonNode
call(com.fasterxml.jackson.databind.JsonNode input, com.fasterxml.jackson.databind.JsonNode[] arguments)
Perform the function on the given JSON input with the given arguments.int
getMaxArguments()
The maximum number of arguments allowed.int
getMinArguments()
The minimum number of arguments allowed.java.lang.String
getName()
The name of the function.private static FunctionWrapper.ToJavaConverter
makeJavaConverter(java.lang.Class type)
private static FunctionWrapper.ToJsonConverter
makeJsonConverter(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:Function
The name of the function.
-
getMinArguments
public int getMinArguments()
Description copied from interface:Function
The minimum number of arguments allowed.- Specified by:
getMinArguments
in interfaceCallable
- Specified by:
getMinArguments
in interfaceFunction
-
getMaxArguments
public int getMaxArguments()
Description copied from interface:Function
The maximum number of arguments allowed.- Specified by:
getMaxArguments
in interfaceCallable
- Specified by:
getMaxArguments
in 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:Function
Perform 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)
-
-