public class PropertyAccessorFactory
extends java.lang.Object
This factory supports different types of property access mechanisms:
The factory creates specialized accessor implementations for different data types (primitives, String, BigInteger, BigDecimal) to optimize performance and avoid boxing/unboxing overhead where possible.
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
PropertyAccessorFactory.ConstructorBiFunction
A Supplier implementation that uses reflection to create new instances
of a class via its constructor.
|
(package private) static class |
PropertyAccessorFactory.ConstructorDoubleFunction
A Supplier implementation that uses reflection to create new instances
of a class via its constructor.
|
(package private) static class |
PropertyAccessorFactory.ConstructorFunction |
(package private) static class |
PropertyAccessorFactory.ConstructorFunctionBase
Base class for Constructor-based Function implementations.
|
(package private) static class |
PropertyAccessorFactory.ConstructorIntFunction
A Supplier implementation that uses reflection to create new instances
of a class via its constructor.
|
(package private) static class |
PropertyAccessorFactory.ConstructorLongFunction
A Supplier implementation that uses reflection to create new instances
of a class via its constructor.
|
(package private) static class |
PropertyAccessorFactory.ConstructorSupplier
A Supplier implementation that uses reflection to create new instances
of a class via its constructor.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflect
Abstract base class for field-based property accessors that use
reflection to access field values.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectBigDecimal
Field accessor implementation for BigDecimal-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectBigInteger
Field accessor implementation for BigInteger-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectBoolean |
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectBooleanValue
Field accessor implementation for boolean-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectByte |
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectByteValue
Field accessor implementation for byte-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectCharacter |
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectCharValue
Field accessor implementation for char-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectDouble |
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectDoubleValue
Field accessor implementation for double-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectFloat |
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectFloatValue
Field accessor implementation for float-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectInteger |
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectIntValue
Field accessor implementation for int-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectLong |
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectLongValue
Field accessor implementation for long-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectNumber
Field accessor implementation for Number-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectObject
Field accessor implementation for Object-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectShort |
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectShortValue
Field accessor implementation for short-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FieldAccessorReflectString
Field accessor implementation for String-typed properties using reflection.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorBigDecimal<T>
Function accessor implementation for BigDecimal-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorBigInteger<T>
Function accessor implementation for BigInteger-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorBoolean<T>
Function accessor implementation for Boolean-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorBooleanValue<T>
Function accessor implementation for boolean-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorByte<T>
Function accessor implementation for Byte-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorByteValue<T>
Function accessor implementation for byte-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorCharacter<T>
Function accessor implementation for Character-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorCharValue<T>
Function accessor implementation for char-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorDouble<T>
Function accessor implementation for Double-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorDoubleValue<T>
Function accessor implementation for double-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorFloat<T>
Function accessor implementation for Float-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorFloatValue<T>
Function accessor implementation for float-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorInteger<T>
Function accessor implementation for Integer-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorIntValue<T>
Function accessor implementation for int-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorLong<T>
Function accessor implementation for Long-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorLongValue<T>
Function accessor implementation for long-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorNumber<T>
Function accessor implementation for Number-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorObject<T,V>
Function accessor implementation for Object-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorShort<T>
Function accessor implementation for Short-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorShortValue<T>
Function accessor implementation for short-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.FunctionAccessorString<T>
Function accessor implementation for String-typed properties using functional interfaces.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorBigDecimal
Method accessor implementation for BigDecimal-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorBigInteger
Method accessor implementation for BigInteger-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorBoolean
Method accessor implementation for Boolean-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorBooleanValue
Method accessor implementation for boolean-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorByte
Method accessor implementation for Byte-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorByteValue
Method accessor implementation for byte-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorCharacter
Method accessor implementation for Character-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorCharValue
Method accessor implementation for char-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorDouble
Method accessor implementation for Double-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorDoubleValue
Method accessor implementation for double-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorFloat
Method accessor implementation for Float-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorFloatValue
Method accessor implementation for float-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorInteger
Method accessor implementation for Integer-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorIntValue
Method accessor implementation for int-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorLong
Method accessor implementation for Long-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorLongValue
Method accessor implementation for long-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorNumber
Method accessor implementation for Number-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorObject
Method accessor implementation for Object-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorShort
Method accessor implementation for Short-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorShortValue
Method accessor implementation for short-typed properties using method invocation.
|
(package private) static class |
PropertyAccessorFactory.MethodAccessorString
Method accessor implementation for String-typed properties using method invocation.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorBigDecimal
Interface for property accessors that handle BigDecimal-typed properties.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorBigInteger
Interface for property accessors that handle BigInteger-typed properties.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorBoolean |
protected static interface |
PropertyAccessorFactory.PropertyAccessorBooleanValue
Interface for property accessors that handle boolean-typed properties.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorByte |
protected static interface |
PropertyAccessorFactory.PropertyAccessorByteValue
Interface for property accessors that handle byte-typed properties.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorCharacter |
protected static interface |
PropertyAccessorFactory.PropertyAccessorCharValue
Interface for property accessors that handle char-typed properties.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorDouble |
protected static interface |
PropertyAccessorFactory.PropertyAccessorDoubleValue
Interface for property accessors that handle double-typed properties.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorFloat |
(package private) static interface |
PropertyAccessorFactory.PropertyAccessorFloatValue
Interface for property accessors that handle float-typed properties.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorInteger |
protected static interface |
PropertyAccessorFactory.PropertyAccessorIntValue
Interface for property accessors that handle int-typed properties.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorLong |
protected static interface |
PropertyAccessorFactory.PropertyAccessorLongValue
Interface for property accessors that handle long-typed properties.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorNumber |
protected static interface |
PropertyAccessorFactory.PropertyAccessorObject
Interface for property accessors that handle object-typed properties.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorShort |
protected static interface |
PropertyAccessorFactory.PropertyAccessorShortValue
Interface for property accessors that handle short-typed properties.
|
protected static interface |
PropertyAccessorFactory.PropertyAccessorString
Interface for property accessors that handle String-typed properties.
|
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapper |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperBigDecimal |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperBigInteger |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperBoolean |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperBooleanValue |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperByte |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperByteValue |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperCharacter |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperCharValue |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperDouble |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperDoubleValue |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperFloat |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperFloatValue |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperInteger |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperIntValue |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperLong |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperLongValue |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperNumber |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperObject |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperShort |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperShortValue |
(package private) static class |
PropertyAccessorFactory.PropertyAccessorWrapperString |
| Constructor and Description |
|---|
PropertyAccessorFactory() |
| Modifier and Type | Method and Description |
|---|---|
PropertyAccessor |
create(java.lang.reflect.Field field)
Creates a property accessor for the specified field.
|
PropertyAccessor |
create(java.lang.reflect.Method method)
Creates a property accessor for the specified method.
|
PropertyAccessor |
create(java.lang.reflect.Method method,
java.util.function.BiFunction<PropertyAccessor,java.lang.Throwable,java.lang.RuntimeException> exceptionHandler)
Creates a property accessor for the specified method.
|
PropertyAccessor |
create(PropertyAccessor impl,
java.util.function.BiConsumer getterConsumer,
java.util.function.BiConsumer setterConsumer) |
PropertyAccessor |
create(PropertyAccessor impl,
ObjBoolConsumer getterConsumer,
ObjBoolConsumer setterConsumer) |
PropertyAccessor |
create(PropertyAccessor impl,
ObjByteConsumer getterConsumer,
ObjByteConsumer setterConsumer) |
PropertyAccessor |
create(PropertyAccessor impl,
ObjCharConsumer getterConsumer,
ObjCharConsumer setterConsumer) |
PropertyAccessor |
create(PropertyAccessor impl,
java.util.function.ObjDoubleConsumer getterConsumer,
java.util.function.ObjDoubleConsumer setterConsumer) |
PropertyAccessor |
create(PropertyAccessor impl,
ObjFloatConsumer getterConsumer,
ObjFloatConsumer setterConsumer) |
PropertyAccessor |
create(PropertyAccessor impl,
java.util.function.ObjIntConsumer getterConsumer,
java.util.function.ObjIntConsumer setterConsumer) |
PropertyAccessor |
create(PropertyAccessor impl,
java.util.function.ObjLongConsumer getterConsumer,
java.util.function.ObjLongConsumer setterConsumer) |
PropertyAccessor |
create(PropertyAccessor impl,
ObjShortConsumer getterConsumer,
ObjShortConsumer setterConsumer) |
<T,V> PropertyAccessor |
create(java.lang.String name,
java.lang.Class<?> propertyClass,
java.lang.reflect.Type propertyType,
java.util.function.Function<T,V> getterFunc,
java.util.function.BiConsumer<T,V> setterFunc) |
<T,V> PropertyAccessor |
create(java.lang.String name,
java.lang.Class<?> propertyClass,
java.lang.reflect.Type propertyType,
java.util.function.Function<T,V> getterFunc,
java.util.function.BiConsumer<T,V> setterFunc,
java.util.function.BiFunction<PropertyAccessor,java.lang.Throwable,java.lang.RuntimeException> exceptionHandler)
Creates a property accessor using functional interfaces for generic property access.
|
PropertyAccessor |
create(java.lang.String name,
java.lang.Class<?> propertyClass,
java.lang.reflect.Type propertyType,
java.lang.reflect.Method getter,
java.lang.reflect.Method setter)
Creates a property accessor using getter and/or setter methods with explicit type information.
|
PropertyAccessor |
create(java.lang.String name,
java.lang.Class<?> propertyClass,
java.lang.reflect.Type propertyType,
java.lang.reflect.Method getter,
java.lang.reflect.Method setter,
java.util.function.BiFunction<PropertyAccessor,java.lang.Throwable,java.lang.RuntimeException> exceptionHandler)
Creates a property accessor using getter and/or setter methods.
|
<T> PropertyAccessor |
create(java.lang.String name,
java.util.function.Predicate<T> getterFunc,
ObjBoolConsumer<T> setterFunc)
Creates a property accessor using functional interfaces for boolean property access.
|
<T> PropertyAccessor |
create(java.lang.String name,
ToByteFunction<T> getterFunc,
ObjByteConsumer<T> setterFunc)
Creates a property accessor using functional interfaces for byte property access.
|
<T> PropertyAccessor |
create(java.lang.String name,
ToCharFunction<T> getterFunc,
ObjCharConsumer<T> setterFunc)
Creates a property accessor using functional interfaces for char property access.
|
<T> PropertyAccessor |
create(java.lang.String name,
java.util.function.ToDoubleFunction<T> getterFunc,
java.util.function.ObjDoubleConsumer<T> setterFunc)
Creates a property accessor using functional interfaces for double property access.
|
<T> PropertyAccessor |
create(java.lang.String name,
ToFloatFunction<T> getterFunc,
ObjFloatConsumer<T> setterFunc)
Creates a property accessor using functional interfaces for float property access.
|
<T> PropertyAccessor |
create(java.lang.String name,
java.util.function.ToIntFunction<T> getterFunc,
java.util.function.ObjIntConsumer<T> setterFunc)
Creates a property accessor using functional interfaces for int property access.
|
<T> PropertyAccessor |
create(java.lang.String name,
java.util.function.ToLongFunction<T> getterFunc,
java.util.function.ObjLongConsumer<T> setterFunc)
Creates a property accessor using functional interfaces for long property access.
|
<T> PropertyAccessor |
create(java.lang.String name,
ToShortFunction<T> getterFunc,
ObjShortConsumer<T> setterFunc)
Creates a property accessor using functional interfaces for short property access.
|
java.util.function.BiFunction |
createBiFunction(java.lang.reflect.Constructor constructor)
Creates a BiFunction that can instantiate objects using the given constructor.
|
java.util.function.DoubleFunction |
createDoubleFunction(java.lang.reflect.Constructor constructor)
Creates a Function that can instantiate objects using the given constructor.
|
java.util.function.Function |
createFunction(java.lang.reflect.Constructor constructor)
Creates a Function that can instantiate objects using the given constructor.
|
protected PropertyAccessor |
createInternal(java.lang.reflect.Field field)
Internal method to create a field-based property accessor
based on the field's type.
|
java.util.function.IntFunction |
createIntFunction(java.lang.reflect.Constructor constructor)
Creates a Function that can instantiate objects using the given constructor.
|
java.util.function.LongFunction |
createLongFunction(java.lang.reflect.Constructor constructor)
Creates a Function that can instantiate objects using the given constructor.
|
java.util.function.Supplier |
createSupplier(java.lang.reflect.Constructor constructor)
Creates a Supplier that can instantiate objects using the given constructor.
|
public java.util.function.Supplier createSupplier(java.lang.reflect.Constructor constructor)
constructor - the constructor to use for object instantiationpublic java.util.function.Function createFunction(java.lang.reflect.Constructor constructor)
constructor - the constructor to use for object instantiationpublic java.util.function.IntFunction createIntFunction(java.lang.reflect.Constructor constructor)
constructor - the constructor to use for object instantiationpublic java.util.function.LongFunction createLongFunction(java.lang.reflect.Constructor constructor)
constructor - the constructor to use for object instantiationpublic java.util.function.DoubleFunction createDoubleFunction(java.lang.reflect.Constructor constructor)
constructor - the constructor to use for object instantiationpublic java.util.function.BiFunction createBiFunction(java.lang.reflect.Constructor constructor)
constructor - the constructor to use for object instantiationpublic PropertyAccessor create(java.lang.reflect.Field field)
field - the field to create an accessor forprotected PropertyAccessor createInternal(java.lang.reflect.Field field)
field - the field to create an accessor forpublic PropertyAccessor create(java.lang.reflect.Method method)
method - the getter or setter method to create an accessor forpublic PropertyAccessor create(java.lang.reflect.Method method, java.util.function.BiFunction<PropertyAccessor,java.lang.Throwable,java.lang.RuntimeException> exceptionHandler)
method - the getter or setter method to create an accessor forpublic final PropertyAccessor create(java.lang.String name, java.lang.Class<?> propertyClass, java.lang.reflect.Type propertyType, java.lang.reflect.Method getter, java.lang.reflect.Method setter)
name - the property namepropertyClass - the class of the property valuepropertyType - the generic type of the property valuegetter - the getter method (optional, may be null)setter - the setter method (optional, may be null)public PropertyAccessor create(java.lang.String name, java.lang.Class<?> propertyClass, java.lang.reflect.Type propertyType, java.lang.reflect.Method getter, java.lang.reflect.Method setter, java.util.function.BiFunction<PropertyAccessor,java.lang.Throwable,java.lang.RuntimeException> exceptionHandler)
name - the property namepropertyClass - the class of the property valuepropertyType - the generic type of the property valuegetter - the getter method (optional, may be null)setter - the setter method (optional, may be null)JSONException - if the getter or setter method signatures are invalidpublic <T> PropertyAccessor create(java.lang.String name, ToByteFunction<T> getterFunc, ObjByteConsumer<T> setterFunc)
T - the type of the object containing the propertyname - the property namegetterFunc - function to get the byte property value from the objectsetterFunc - consumer to set the byte property value on the objectpublic <T> PropertyAccessor create(java.lang.String name, ToShortFunction<T> getterFunc, ObjShortConsumer<T> setterFunc)
T - the type of the object containing the propertyname - the property namegetterFunc - function to get the short property value from the objectsetterFunc - consumer to set the short property value on the objectpublic <T> PropertyAccessor create(java.lang.String name, java.util.function.ToIntFunction<T> getterFunc, java.util.function.ObjIntConsumer<T> setterFunc)
T - the type of the object containing the propertyname - the property namegetterFunc - function to get the int property value from the objectsetterFunc - consumer to set the int property value on the objectpublic <T> PropertyAccessor create(java.lang.String name, java.util.function.ToLongFunction<T> getterFunc, java.util.function.ObjLongConsumer<T> setterFunc)
T - the type of the object containing the propertyname - the property namegetterFunc - function to get the long property value from the objectsetterFunc - consumer to set the long property value on the objectpublic <T> PropertyAccessor create(java.lang.String name, ToFloatFunction<T> getterFunc, ObjFloatConsumer<T> setterFunc)
T - the type of the object containing the propertyname - the property namegetterFunc - function to get the float property value from the objectsetterFunc - consumer to set the float property value on the objectpublic <T> PropertyAccessor create(java.lang.String name, java.util.function.ToDoubleFunction<T> getterFunc, java.util.function.ObjDoubleConsumer<T> setterFunc)
T - the type of the object containing the propertyname - the property namegetterFunc - function to get the double property value from the objectsetterFunc - consumer to set the double property value on the objectpublic <T> PropertyAccessor create(java.lang.String name, java.util.function.Predicate<T> getterFunc, ObjBoolConsumer<T> setterFunc)
T - the type of the object containing the propertyname - the property namegetterFunc - function to get the boolean property value from the objectsetterFunc - consumer to set the boolean property value on the objectpublic <T> PropertyAccessor create(java.lang.String name, ToCharFunction<T> getterFunc, ObjCharConsumer<T> setterFunc)
T - the type of the object containing the propertyname - the property namegetterFunc - function to get the char property value from the objectsetterFunc - consumer to set the char property value on the objectpublic <T,V> PropertyAccessor create(java.lang.String name, java.lang.Class<?> propertyClass, java.lang.reflect.Type propertyType, java.util.function.Function<T,V> getterFunc, java.util.function.BiConsumer<T,V> setterFunc)
public <T,V> PropertyAccessor create(java.lang.String name, java.lang.Class<?> propertyClass, java.lang.reflect.Type propertyType, java.util.function.Function<T,V> getterFunc, java.util.function.BiConsumer<T,V> setterFunc, java.util.function.BiFunction<PropertyAccessor,java.lang.Throwable,java.lang.RuntimeException> exceptionHandler)
T - the type of the object containing the propertyV - the type of the property valuename - the property namepropertyClass - the class of the property valuepropertyType - the generic type of the property valuegetterFunc - function to get the property value from the objectsetterFunc - consumer to set the property value on the objectpublic PropertyAccessor create(PropertyAccessor impl, ObjBoolConsumer getterConsumer, ObjBoolConsumer setterConsumer)
public PropertyAccessor create(PropertyAccessor impl, ObjByteConsumer getterConsumer, ObjByteConsumer setterConsumer)
public PropertyAccessor create(PropertyAccessor impl, ObjCharConsumer getterConsumer, ObjCharConsumer setterConsumer)
public PropertyAccessor create(PropertyAccessor impl, ObjShortConsumer getterConsumer, ObjShortConsumer setterConsumer)
public PropertyAccessor create(PropertyAccessor impl, java.util.function.ObjIntConsumer getterConsumer, java.util.function.ObjIntConsumer setterConsumer)
public PropertyAccessor create(PropertyAccessor impl, java.util.function.ObjLongConsumer getterConsumer, java.util.function.ObjLongConsumer setterConsumer)
public PropertyAccessor create(PropertyAccessor impl, ObjFloatConsumer getterConsumer, ObjFloatConsumer setterConsumer)
public PropertyAccessor create(PropertyAccessor impl, java.util.function.ObjDoubleConsumer getterConsumer, java.util.function.ObjDoubleConsumer setterConsumer)
public PropertyAccessor create(PropertyAccessor impl, java.util.function.BiConsumer getterConsumer, java.util.function.BiConsumer setterConsumer)