Class PropertyDescriptorUtils
- java.lang.Object
-
- org.apache.myfaces.core.api.shared.lang.PropertyDescriptorUtils
-
public class PropertyDescriptorUtils extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
PropertyDescriptorUtils.ObjBooleanConsumer<T>
static interface
PropertyDescriptorUtils.ObjByteConsumer<T>
static interface
PropertyDescriptorUtils.ObjCharConsumer<T>
static interface
PropertyDescriptorUtils.ObjFloatConsumer<T>
static interface
PropertyDescriptorUtils.ObjShortConsumer<T>
-
Field Summary
Fields Modifier and Type Field Description static String
USE_LAMBDA_METAFACTORY
Defines if Lambda expressions (via LambdaMetafactory) are used for getter/setter instead of Reflection.
-
Constructor Summary
Constructors Constructor Description PropertyDescriptorUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static LambdaPropertyDescriptor
createLambdaPropertyDescriptor(Class<?> target, PropertyDescriptor pd, MethodHandles.Lookup lookup)
protected static BiConsumer
createSetter(MethodHandles.Lookup lookup, LambdaPropertyDescriptor propertyInfo, MethodHandle setterHandle)
protected static CallSite
createSetterCallSite(MethodHandles.Lookup lookup, MethodHandle setter, Class<?> interfaceType, Class<?> valueType)
static Map<String,? extends PropertyDescriptorWrapper>
getCachedPropertyDescriptors(ExternalContext ec, Class<?> target)
static LambdaPropertyDescriptor
getLambdaPropertyDescriptor(Class<?> target, String name)
static Map<String,PropertyDescriptorWrapper>
getLambdaPropertyDescriptors(Class<?> target)
static Map<String,? extends PropertyDescriptorWrapper>
getPropertyDescriptors(ExternalContext ec, Class<?> target)
static boolean
isUseLambdaMetafactory(ExternalContext ec)
-
-
-
Field Detail
-
USE_LAMBDA_METAFACTORY
@JSFWebConfigParam(since="2.3-next", defaultValue="false", expectedValues="true,false", tags="performance") public static final String USE_LAMBDA_METAFACTORY
Defines if Lambda expressions (via LambdaMetafactory) are used for getter/setter instead of Reflection.- See Also:
- Constant Field Values
-
-
Method Detail
-
getCachedPropertyDescriptors
public static Map<String,? extends PropertyDescriptorWrapper> getCachedPropertyDescriptors(ExternalContext ec, Class<?> target)
-
isUseLambdaMetafactory
public static boolean isUseLambdaMetafactory(ExternalContext ec)
-
getPropertyDescriptors
public static Map<String,? extends PropertyDescriptorWrapper> getPropertyDescriptors(ExternalContext ec, Class<?> target)
-
getLambdaPropertyDescriptor
public static LambdaPropertyDescriptor getLambdaPropertyDescriptor(Class<?> target, String name)
-
createLambdaPropertyDescriptor
public static LambdaPropertyDescriptor createLambdaPropertyDescriptor(Class<?> target, PropertyDescriptor pd, MethodHandles.Lookup lookup) throws Throwable
- Throws:
Throwable
-
getLambdaPropertyDescriptors
public static Map<String,PropertyDescriptorWrapper> getLambdaPropertyDescriptors(Class<?> target) throws Throwable
- Throws:
Throwable
-
createSetter
protected static BiConsumer createSetter(MethodHandles.Lookup lookup, LambdaPropertyDescriptor propertyInfo, MethodHandle setterHandle) throws LambdaConversionException, Throwable
- Throws:
LambdaConversionException
Throwable
-
createSetterCallSite
protected static CallSite createSetterCallSite(MethodHandles.Lookup lookup, MethodHandle setter, Class<?> interfaceType, Class<?> valueType) throws LambdaConversionException
- Throws:
LambdaConversionException
-
-