T - The generic type@Internal public abstract class AbstractBeanIntrospection<T> extends Object implements BeanIntrospection<T>
BeanIntrospection interface. This class is subclasses at compilation time by generated byte code and should not be used directly.| Modifier and Type | Field and Description |
|---|---|
protected AnnotationMetadata |
annotationMetadata |
protected Map<String,BeanProperty<T,Object>> |
beanProperties |
protected Class<T> |
beanType |
CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBEREMPTY| Modifier | Constructor and Description |
|---|---|
protected |
AbstractBeanIntrospection(Class<T> beanType,
AnnotationMetadata annotationMetadata,
int propertyCount)
Base class for bean instrospections.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addProperty(BeanProperty<T,Object> property)
Adds a property at a particular index of the internal array passed to the constructor.
|
boolean |
equals(Object o) |
AnnotationMetadata |
getAnnotationMetadata()
Supplies the metadata.
|
Collection<BeanProperty<T,Object>> |
getBeanProperties() |
Class<T> |
getBeanType()
The bean type.
|
Collection<BeanProperty<T,Object>> |
getIndexedProperties(Class<? extends Annotation> annotationType)
Get all the bean properties annotated for the given annotation type.
|
Optional<BeanProperty<T,Object>> |
getIndexedProperty(Class<? extends Annotation> annotationType,
String annotationValue)
Get all the bean properties annotated for the given type.
|
Optional<BeanProperty<T,Object>> |
getProperty(String name)
Obtain a property by name.
|
int |
hashCode() |
protected void |
indexProperty(Class<? extends Annotation> annotationType,
String propertyName)
Used to produce an index for particular annotation type.
|
protected void |
indexProperty(Class<? extends Annotation> annotationType,
String propertyName,
String annotationValue)
Used to produce an index for particular annotation type.
|
T |
instantiate(Object... arguments)
Instantiates an instance of the bean, throwing an exception is instantiation is not possible.
|
protected abstract T |
instantiateInternal(Object[] arguments)
Reflection free bean instantiation implementation for the given arguments.
|
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetConstructorArguments, getIndexedProperty, getIntrospection, getProperty, getPropertyNames, getRequiredProperty, instantiatebooleanValue, booleanValue, booleanValue, booleanValue, classValue, classValue, classValue, classValue, classValues, classValues, classValues, classValues, doubleValue, doubleValue, doubleValue, enumValue, enumValue, enumValue, enumValue, findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, getAnnotation, getAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNames, getAnnotationNamesByStereotype, getAnnotationNamesByStereotype, getAnnotationType, getAnnotationTypeByStereotype, getAnnotationTypeByStereotype, getAnnotationTypesByStereotype, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByType, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValues, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasStereotype, hasStereotype, hasStereotype, hasStereotype, intValue, intValue, intValue, isAnnotationPresent, isDeclaredAnnotationPresent, isEmpty, isFalse, isFalse, isPresent, isPresent, isTrue, isTrue, longValue, longValue, stringValue, stringValue, stringValue, stringValue, stringValues, stringValues, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByTypehasSimpleAnnotation, hasSimpleDeclaredAnnotationprotected final AnnotationMetadata annotationMetadata
protected final Map<String,BeanProperty<T,Object>> beanProperties
protected AbstractBeanIntrospection(@Nonnull Class<T> beanType, @Nullable AnnotationMetadata annotationMetadata, int propertyCount)
beanType - The bean typeannotationMetadata - The annotation metadatapropertyCount - The property count@Nonnull public Optional<BeanProperty<T,Object>> getIndexedProperty(@Nonnull Class<? extends Annotation> annotationType, @Nonnull String annotationValue)
BeanIntrospectiongetIndexedProperty in interface BeanIntrospection<T>annotationType - The annotation typeannotationValue - The annotation valueIntrospected.indexed()@Nonnull public T instantiate(Object... arguments) throws InstantiationException
BeanIntrospectioninstantiate in interface BeanIntrospection<T>arguments - The arguments required to instantiate bean. Should match the types returned by BeanIntrospection.getConstructorArguments()InstantiationException - If the bean cannot be instantiated.@Nonnull public Optional<BeanProperty<T,Object>> getProperty(@Nonnull String name)
BeanIntrospectiongetProperty in interface BeanIntrospection<T>name - The name of the property@Nonnull public Collection<BeanProperty<T,Object>> getIndexedProperties(@Nonnull Class<? extends Annotation> annotationType)
BeanIntrospectionIntrospected.indexed() by the given annotation,
then it will be included in the resulting list.getIndexedProperties in interface BeanIntrospection<T>annotationType - The annotation typeIntrospected.indexed()public AnnotationMetadata getAnnotationMetadata()
AnnotationMetadataProviderAnnotationMetadata.EMPTY_METADATA.getAnnotationMetadata in interface AnnotationMetadataProviderAnnotationMetadata@Nonnull public Collection<BeanProperty<T,Object>> getBeanProperties()
getBeanProperties in interface BeanIntrospection<T>@Nonnull public Class<T> getBeanType()
BeanIntrospectiongetBeanType in interface BeanIntrospection<T>@Internal protected abstract T instantiateInternal(Object[] arguments)
arguments - The arguments@Internal protected final void addProperty(@Nonnull BeanProperty<T,Object> property)
property - The property.@Internal protected final void indexProperty(@Nonnull Class<? extends Annotation> annotationType, @Nonnull String propertyName)
addProperty(BeanProperty) if required.annotationType - The annotation typepropertyName - The property name@Internal protected final void indexProperty(@Nonnull Class<? extends Annotation> annotationType, @Nonnull String propertyName, @Nonnull String annotationValue)
addProperty(BeanProperty) if required.annotationType - The annotation typepropertyName - The property nameannotationValue - The annotation value