B - The bean typepublic abstract class AbstractInitializableBeanIntrospection<B> extends java.lang.Object implements BeanIntrospection<B>
BeanIntrospection interface. This class is subclasses at compilation time by generated byte code and should not be used directly.
 Implementation is using method dispatch to access the bean instance.
| Modifier and Type | Class and Description | 
|---|---|
static class  | 
AbstractInitializableBeanIntrospection.BeanMethodRef<P>
Bean method compile-time data container. 
 | 
static class  | 
AbstractInitializableBeanIntrospection.BeanPropertyRef<P>
Bean property compile-time data container. 
 | 
CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBEREMPTY| Constructor and Description | 
|---|
AbstractInitializableBeanIntrospection(java.lang.Class<B> beanType,
                                      AnnotationMetadata annotationMetadata,
                                      AnnotationMetadata constructorAnnotationMetadata,
                                      Argument<?>[] constructorArguments,
                                      AbstractInitializableBeanIntrospection.BeanPropertyRef<java.lang.Object>[] propertiesRefs,
                                      AbstractInitializableBeanIntrospection.BeanMethodRef<java.lang.Object>[] methodsRefs)  | 
| Modifier and Type | Method and Description | 
|---|---|
protected <V> V | 
dispatch(int index,
        B target,
        java.lang.Object[] args)
Triggers the invocation of the method at index. 
 | 
protected <V> V | 
dispatchOne(int index,
           java.lang.Object target,
           java.lang.Object arg)
Triggers the invocation of the method at index for a single argument call. 
 | 
boolean | 
equals(java.lang.Object o)  | 
BeanProperty<B,java.lang.Object> | 
findIndexedProperty(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType,
                   java.lang.String annotationValue)
Get all the bean properties annotated for the given type. 
 | 
AnnotationMetadata | 
getAnnotationMetadata()
Supplies the metadata. 
 | 
java.util.Collection<BeanMethod<B,java.lang.Object>> | 
getBeanMethods()
Returns the  
BeanMethod instances for this introspection. | 
java.util.Collection<BeanProperty<B,java.lang.Object>> | 
getBeanProperties()  | 
protected java.util.Collection<BeanProperty<B,java.lang.Object>> | 
getBeanPropertiesIndexedSubset(int[] indexes)
Returns subset of bean properties defined by an array of indexes. 
 | 
java.lang.Class<B> | 
getBeanType()
The bean type. 
 | 
BeanConstructor<B> | 
getConstructor()  | 
Argument<?>[] | 
getConstructorArguments()
The constructor arguments needed to instantiate the bean. 
 | 
java.util.Collection<BeanProperty<B,java.lang.Object>> | 
getIndexedProperties(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Get all the bean properties annotated for the given annotation type. 
 | 
java.util.Optional<BeanProperty<B,java.lang.Object>> | 
getIndexedProperty(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType,
                  java.lang.String annotationValue)
Get all the bean properties annotated for the given type. 
 | 
java.util.Optional<BeanProperty<B,java.lang.Object>> | 
getProperty(java.lang.String name)
Obtain a property by name. 
 | 
protected BeanProperty<B,java.lang.Object> | 
getPropertyByIndex(int index)
Obtain a property by its index. 
 | 
int | 
hashCode()  | 
B | 
instantiate()
Instantiates an instance of the bean, throwing an exception is instantiation is not possible. 
 | 
B | 
instantiate(boolean strictNullable,
           java.lang.Object... arguments)
Instantiates an instance of the bean, throwing an exception is instantiation is not possible. 
 | 
protected abstract B | 
instantiateInternal(java.lang.Object[] arguments)
Reflection free bean instantiation implementation for the given arguments. 
 | 
java.lang.String | 
toString()  | 
protected java.lang.RuntimeException | 
unknownDispatchAtIndexException(int index)
Creates a new exception when the dispatch at index is not found. 
 | 
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetIndexedProperty, getIntrospection, getProperty, getPropertyNames, getRequiredProperty, instantiate, propertyIndexOfbooleanValue, 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, synthesizeDeclaredAnnotationsByTypegetValues, hasDeclaredStereotype, isAnnotationPresent, isDeclaredAnnotationPresentpublic AbstractInitializableBeanIntrospection(java.lang.Class<B> beanType, AnnotationMetadata annotationMetadata, AnnotationMetadata constructorAnnotationMetadata, Argument<?>[] constructorArguments, AbstractInitializableBeanIntrospection.BeanPropertyRef<java.lang.Object>[] propertiesRefs, AbstractInitializableBeanIntrospection.BeanMethodRef<java.lang.Object>[] methodsRefs)
@NonNull @Internal protected abstract B instantiateInternal(@Nullable java.lang.Object[] arguments)
arguments - The arguments@Internal protected BeanProperty<B,java.lang.Object> getPropertyByIndex(int index)
index - The index of the property@Nullable protected <V> V dispatch(int index, @NonNull B target, @Nullable java.lang.Object[] args)
V - The result typeindex - The method indextarget - The targetargs - The arguments@Nullable protected <V> V dispatchOne(int index, @NonNull java.lang.Object target, @Nullable java.lang.Object arg)
V - The result typeindex - The method indextarget - The targetarg - The argumentprotected final java.lang.RuntimeException unknownDispatchAtIndexException(int index)
index - The method index@Nullable public BeanProperty<B,java.lang.Object> findIndexedProperty(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, @NonNull java.lang.String annotationValue)
getIndexedProperty.annotationType - The annotation typeannotationValue - The annotation valueIntrospected.indexed()@NonNull public java.util.Collection<BeanProperty<B,java.lang.Object>> getIndexedProperties(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
BeanIntrospectionIntrospected.indexed() by the given annotation,
 then it will be included in the resulting list.getIndexedProperties in interface BeanIntrospection<B>annotationType - The annotation typeIntrospected.indexed()protected java.util.Collection<BeanProperty<B,java.lang.Object>> getBeanPropertiesIndexedSubset(int[] indexes)
indexes - The indexespublic B instantiate() throws InstantiationException
BeanIntrospectioninstantiate in interface BeanIntrospection<B>InstantiationException - If the bean cannot be instantiated or the arguments are not satisfied.@NonNull public B instantiate(boolean strictNullable, java.lang.Object... arguments) throws InstantiationException
BeanIntrospectioninstantiate in interface BeanIntrospection<B>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.public BeanConstructor<B> getConstructor()
getConstructor in interface BeanIntrospection<B>public Argument<?>[] getConstructorArguments()
BeanIntrospectiongetConstructorArguments in interface BeanIntrospection<B>@NonNull public java.util.Optional<BeanProperty<B,java.lang.Object>> getIndexedProperty(@NonNull java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, @NonNull java.lang.String annotationValue)
BeanIntrospectiongetIndexedProperty in interface BeanIntrospection<B>annotationType - The annotation typeannotationValue - The annotation valueIntrospected.indexed()@NonNull public java.util.Optional<BeanProperty<B,java.lang.Object>> getProperty(@NonNull java.lang.String name)
BeanIntrospectiongetProperty in interface BeanIntrospection<B>name - The name of the propertypublic AnnotationMetadata getAnnotationMetadata()
AnnotationMetadataProviderAnnotationMetadata.EMPTY_METADATA.getAnnotationMetadata in interface AnnotationMetadataProviderAnnotationMetadata@NonNull public java.util.Collection<BeanProperty<B,java.lang.Object>> getBeanProperties()
getBeanProperties in interface BeanIntrospection<B>@NonNull public java.lang.Class<B> getBeanType()
BeanIntrospectiongetBeanType in interface BeanIntrospection<B>@NonNull public java.util.Collection<BeanMethod<B,java.lang.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<B>public boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object