public class LambdaFetchingSupport
extends java.lang.Object
Constructor and Description |
---|
LambdaFetchingSupport() |
Modifier and Type | Method and Description |
---|---|
static java.util.Optional<java.util.function.Function<java.lang.Object,java.lang.Object>> |
createGetter(java.lang.Class<?> sourceClass,
java.lang.String propertyName)
This support class will use
LambdaMetafactory and MethodHandles to create a dynamic function that allows access to a public
getter method on the nominated class. |
public static java.util.Optional<java.util.function.Function<java.lang.Object,java.lang.Object>> createGetter(java.lang.Class<?> sourceClass, java.lang.String propertyName)
LambdaMetafactory
and MethodHandles
to create a dynamic function that allows access to a public
getter method on the nominated class. MethodHandles
is a caller senstive lookup mechanism. If the graphql-java cant lookup a class, then
it won't be able to make dynamic lambda function to it.
If one cant be made, because it doesn't exist or the calling class does not have access to the method, then it will return an empty result indicating that this strategy cant be used.
sourceClass
- the class that has the property getter methodpropertyName
- the name of the property to get