B - The bean typeP - The property type@Internal public abstract class AbstractBeanProperty<B,P> extends Object implements UnsafeBeanProperty<B,P>
BeanProperty. Generated byte code should be used to create a subclass
 and implement the BeanProperty.get(Object) and BeanProperty.set(Object, Object) methods. This class is subclasses at compilation time by generated byte code and should not be used directly.CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBEREMPTY| Modifier | Constructor and Description | 
|---|---|
| protected  | AbstractBeanProperty(BeanIntrospection<B> introspection,
                    Class<P> type,
                    String name,
                    AnnotationMetadata annotationMetadata,
                    Argument[] typeArguments)Default constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| Argument<P> | asArgument()Represent the type as an argument, including any generic type information. | 
| boolean | equals(Object o) | 
| P | get(B bean)Read the bean value. | 
| AnnotationMetadata | getAnnotationMetadata()Supplies the metadata. | 
| BeanIntrospection<B> | getDeclaringBean() | 
| String | getName() | 
| Class<P> | getType() | 
| P | getUnsafe(B bean)Unsafe version of  BeanProperty.get(Object). | 
| int | hashCode() | 
| protected abstract P | readInternal(B bean)Reads the bean property. | 
| void | set(B bean,
   P value)Write the bean value. | 
| void | setUnsafe(B bean,
         P value)Unsafe version of  BeanProperty.set(Object, Object). | 
| String | toString() | 
| B | withValue(B bean,
         P value)This method will attempt to modify the property or if this is a immutable type using a copy constructor to return a new instance with the new value. | 
| protected B | withValueInternal(B bean,
                 P value)Mutates a property value. | 
| B | withValueUnsafe(B bean,
               P value)Unsafe version of  BeanProperty.withValue(Object, Object). | 
| protected abstract void | writeInternal(B bean,
             P value)Writes a property value. | 
clone, finalize, getClass, notify, notifyAll, wait, wait, waitconvertAndSet, get, get, get, get, getDeclaringType, hasSetterOrConstructorArgument, isReadOnly, isReadWrite, isWriteOnlyisDeclaredNonNull, isDeclaredNullable, isNonNull, isNullablebooleanValue, booleanValue, booleanValue, booleanValue, classValue, classValue, classValue, classValue, classValues, classValues, classValues, classValues, doubleValue, doubleValue, doubleValue, enumValue, enumValue, enumValue, enumValue, enumValues, enumValues, enumValues, enumValues, findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, findRepeatableAnnotation, findRepeatableAnnotation, getAnnotation, getAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNames, getAnnotationNamesByStereotype, getAnnotationNamesByStereotype, getAnnotationType, getAnnotationType, getAnnotationTypeByStereotype, getAnnotationTypeByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByType, getDeclaredMetadata, getDeclaredStereotypeAnnotationNames, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValues, getStereotypeAnnotationNames, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasPropertyExpressions, hasSimpleAnnotation, hasSimpleDeclaredAnnotation, hasStereotype, hasStereotype, hasStereotype, hasStereotype, intValue, intValue, intValue, isAnnotationPresent, isDeclaredAnnotationPresent, isEmpty, isFalse, isFalse, isPresent, isPresent, isRepeatableAnnotation, isRepeatableAnnotation, isTrue, isTrue, longValue, longValue, stringValue, stringValue, stringValue, stringValue, stringValues, stringValues, stringValues, stringValues, synthesize, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByTypegetAnnotationValuesByName, getAnnotationValuesByStereotype, getDeclaredAnnotationValuesByName, getValues, hasDeclaredStereotype, isAnnotationPresent, isDeclaredAnnotationPresent@Internal protected AbstractBeanProperty(@NonNull BeanIntrospection<B> introspection, @NonNull Class<P> type, @NonNull String name, @Nullable AnnotationMetadata annotationMetadata, @Nullable Argument[] typeArguments)
introspection - The parent introspectiontype - The property typename - The property nameannotationMetadata - The annotation metadatatypeArguments - optional type arguments@NonNull public Class<P> getType()
getType in interface BeanProperty<B,P>@NonNull public Argument<P> asArgument()
BeanPropertyasArgument in interface BeanProperty<B,P>asArgument in interface ArgumentCoercible<P>@NonNull public final BeanIntrospection<B> getDeclaringBean()
getDeclaringBean in interface BeanProperty<B,P>public AnnotationMetadata getAnnotationMetadata()
AnnotationMetadataProviderAnnotationMetadata.EMPTY_METADATA.getAnnotationMetadata in interface AnnotationMetadataProviderAnnotationMetadata@Nullable public final P get(@NonNull B bean)
BeanPropertyget in interface BeanProperty<B,P>bean - The bean to read frompublic final P getUnsafe(B bean)
UnsafeBeanPropertyBeanProperty.get(Object).getUnsafe in interface UnsafeBeanProperty<B,P>bean - The bean to read frompublic B withValue(@NonNull B bean, @Nullable P value)
BeanPropertyThis differs from BeanProperty.set(Object, Object) which will throw an exception if the property does not have a setter.
BeanProperty.set(Object, Object) invoked  to mutate the propertyUnsupportedOperationException is thrownwithValue in interface BeanProperty<B,P>bean - The beanvalue - The new valuepublic final B withValueUnsafe(B bean, P value)
UnsafeBeanPropertyBeanProperty.withValue(Object, Object).withValueUnsafe in interface UnsafeBeanProperty<B,P>bean - The beanvalue - The new valuepublic final void set(@NonNull B bean, @Nullable P value)
BeanPropertyset in interface BeanProperty<B,P>bean - The beanvalue - The value to writepublic final void setUnsafe(B bean, P value)
UnsafeBeanPropertyBeanProperty.set(Object, Object).setUnsafe in interface UnsafeBeanProperty<B,P>bean - The beanvalue - The value to write@Internal protected B withValueInternal(B bean, P value)
bean - The beanvalue - The valueBeanProperty.withValue(Object, Object)@Internal protected abstract void writeInternal(@NonNull B bean, @Nullable P value)
bean - The beanvalue - The value@Internal protected abstract P readInternal(@NonNull B bean)
bean - The bean