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 List<BeanMethod<T,Object>> | 
beanMethods  | 
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. 
 | 
protected  | 
AbstractBeanIntrospection(Class<T> beanType,
                         AnnotationMetadata annotationMetadata,
                         int propertyCount,
                         int methodCount)
Base class for bean instrospections. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected void | 
addMethod(BeanMethod<T,Object> method)
Adds a method to the introspection. 
 | 
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<BeanMethod<T,Object>> | 
getBeanMethods()
Returns the  
BeanMethod instances for this introspection. | 
Collection<BeanProperty<T,Object>> | 
getBeanProperties()  | 
Class<T> | 
getBeanType()
The bean type. 
 | 
BeanConstructor<T> | 
getConstructor()  | 
protected AnnotationMetadata | 
getConstructorAnnotationMetadata()  | 
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(boolean strictNullable,
           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. 
 | 
int | 
propertyIndexOf(String name)
Obtain the property index position. 
 | 
String | 
toString()  | 
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetConstructorArguments, getIndexedProperty, getIntrospection, getProperty, getPropertyNames, getRequiredProperty, instantiate, instantiatebooleanValue, 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, 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, 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, getDeclaredAnnotationValuesByName, getValues, hasDeclaredStereotype, isAnnotationPresent, isDeclaredAnnotationPresentprotected final AnnotationMetadata annotationMetadata
protected final Map<String,BeanProperty<T,Object>> beanProperties
protected final List<BeanMethod<T,Object>> beanMethods
protected AbstractBeanIntrospection(@NonNull Class<T> beanType, @Nullable AnnotationMetadata annotationMetadata, int propertyCount)
beanType - The bean typeannotationMetadata - The annotation metadatapropertyCount - The property countprotected AbstractBeanIntrospection(@NonNull Class<T> beanType, @Nullable AnnotationMetadata annotationMetadata, int propertyCount, int methodCount)
beanType - The bean typeannotationMetadata - The annotation metadatapropertyCount - The property countmethodCount - The method countpublic BeanConstructor<T> getConstructor()
getConstructor in interface BeanIntrospection<T>protected AnnotationMetadata getConstructorAnnotationMetadata()
@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(boolean strictNullable, Object... arguments) throws InstantiationException
BeanIntrospectioninstantiate in interface BeanIntrospection<T>strictNullable - If true, require null parameters to be annotated with a nullable annotationarguments - 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 propertypublic int propertyIndexOf(String name)
BeanIntrospectionpropertyIndexOf 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 addMethod(@NonNull BeanMethod<T,Object> method)
method - The property.@NonNull public Collection<BeanMethod<T,Object>> getBeanMethods()
BeanIntrospectionBeanMethod instances for this introspection.
 The BeanMethod instances are only those methods annotated with io.micronaut.context.annotation.Executable and hence represent a subset
 of the actual methods of the class and do not include any methods that are exposed as BeanProperty instances.
getBeanMethods in interface BeanIntrospection<T>@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, @Nullable String annotationValue)
addProperty(BeanProperty) if required.annotationType - The annotation typepropertyName - The property nameannotationValue - The annotation value