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 interfacePropertyDescriptorUtils.ObjBooleanConsumer<T>static interfacePropertyDescriptorUtils.ObjByteConsumer<T>static interfacePropertyDescriptorUtils.ObjCharConsumer<T>static interfacePropertyDescriptorUtils.ObjFloatConsumer<T>static interfacePropertyDescriptorUtils.ObjShortConsumer<T>
-
Field Summary
Fields Modifier and Type Field Description static StringUSE_LAMBDA_METAFACTORYDefines 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 LambdaPropertyDescriptorcreateLambdaPropertyDescriptor(Class<?> target, PropertyDescriptor pd, MethodHandles.Lookup lookup)protected static BiConsumercreateSetter(MethodHandles.Lookup lookup, LambdaPropertyDescriptor propertyInfo, MethodHandle setterHandle)protected static CallSitecreateSetterCallSite(MethodHandles.Lookup lookup, MethodHandle setter, Class<?> interfaceType, Class<?> valueType)static Map<String,? extends PropertyDescriptorWrapper>getCachedPropertyDescriptors(ExternalContext ec, Class<?> target)static LambdaPropertyDescriptorgetLambdaPropertyDescriptor(Class<?> target, String name)static Map<String,LambdaPropertyDescriptor>getLambdaPropertyDescriptors(Class<?> target)static Map<String,? extends PropertyDescriptorWrapper>getPropertyDescriptors(ExternalContext ec, Class<?> target)static booleanisUseLambdaMetafactory(ExternalContext ec)
-
-
-
Field Detail
-
USE_LAMBDA_METAFACTORY
@JSFWebConfigParam(since="2.3-next", defaultValue="true", expectedValues="true,false", tags="performance") public static final String USE_LAMBDA_METAFACTORYDefines 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,LambdaPropertyDescriptor> getLambdaPropertyDescriptors(Class<?> target) throws Throwable
- Throws:
Throwable
-
createSetter
protected static BiConsumer createSetter(MethodHandles.Lookup lookup, LambdaPropertyDescriptor propertyInfo, MethodHandle setterHandle) throws LambdaConversionException, Throwable
- Throws:
LambdaConversionExceptionThrowable
-
createSetterCallSite
protected static CallSite createSetterCallSite(MethodHandles.Lookup lookup, MethodHandle setter, Class<?> interfaceType, Class<?> valueType) throws LambdaConversionException
- Throws:
LambdaConversionException
-
-