Class ScalaAnnotationMetadataBuilder
java.lang.Object
io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
io.micronaut.scala.processing.visitor.ScalaAnnotationMetadataBuilder
public final class ScalaAnnotationMetadataBuilder
extends io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
Builds Micronaut annotation metadata from the reduced Scala compiler model.
-
Nested Class Summary
Nested classes/interfaces inherited from class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder
io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder.CachedAnnotationMetadata -
Field Summary
Fields inherited from class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder
ELEMENT_VALIDATOR -
Constructor Summary
ConstructorsConstructorDescriptionScalaAnnotationMetadataBuilder(io.micronaut.inject.visitor.VisitorContext visitorContext) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected voidaddWarning(Object originatingElement, String warning) buildHierarchy(Object element, boolean inheritTypeAnnotations, boolean declaredOnly) io.micronaut.inject.annotation.MutableAnnotationMetadatabuildMetadata(ScalaAnnotatedElementData element) Build metadata for a Scala model element.protected <K extends Annotation>
@Nullable List<io.micronaut.inject.annotation.AnnotationMapper<K>> getAnnotationMappers(String annotationName) protected @Nullable ObjectgetAnnotationMember(Object annotationElement, CharSequence member) protected StringgetAnnotationMemberName(Object member) getAnnotationMirror(String annotationName) protected List<io.micronaut.inject.annotation.AnnotationRemapper> getAnnotationRemappers(String packageName) protected List<? extends ScalaAnnotationData> getAnnotationsForType(Object element) protected <K extends Annotation>
@Nullable List<io.micronaut.inject.annotation.AnnotationTransformer<K>> getAnnotationTransformers(String annotationName) protected StringgetAnnotationTypeName(ScalaAnnotationData annotationMirror) protected <K extends Annotation>
Optional<io.micronaut.core.annotation.AnnotationValue<K>> getAnnotationValues(Object originatingElement, Object member, Class<K> annotationType) protected StringgetElementName(Object element) protected @Nullable io.micronaut.inject.annotation.AnnotatedElementValidatorprotected @Nullable StringgetOriginatingClassName(Object originatingElement) protected @Nullable StringgetRepeatableContainerNameForType(Object annotationType) protected @Nullable StringgetRepeatableName(ScalaAnnotationData annotationMirror) protected RetentionPolicygetRetentionPolicy(Object annotation) protected ObjectgetTypeForAnnotation(ScalaAnnotationData annotationMirror) protected io.micronaut.inject.visitor.VisitorContextprotected booleanhasAnnotation(Object element, Class<? extends Annotation> annotation) protected booleanhasAnnotation(Object element, String annotation) protected booleanhasAnnotations(Object element) protected booleanisExcludedAnnotation(Object element, String annotationName) protected booleanisValidationRequired(Object member) readAnnotationDefaultValues(String annotationName, Object annotationType) readAnnotationDefaultValues(String annotationName, Object annotationType, boolean includeEmptyValues) The defaults an annotation type declares, by the same rule as the Java, Kotlin and Groovy builders: every member with a default is reported, whatever its shape, except that an empty string default is reported only whenincludeEmptyValuesis set.readAnnotationRawValues(ScalaAnnotationData annotationMirror) protected voidreadAnnotationRawValues(Object originatingElement, String annotationName, Object member, String memberName, Object annotationValue, Map<CharSequence, Object> annotationValues) protected voidreadAnnotationRawValues(Object originatingElement, String annotationName, Object member, String memberName, Object annotationValue, Map<CharSequence, Object> annotationValues, Map<String, Map<CharSequence, Object>> resolvedDefaults) protected ObjectreadAnnotationValue(Object originatingElement, Object member, String annotationName, String memberName, Object annotationValue) Methods inherited from class io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder
annotate, buildAnnotation, buildDeclared, buildEvaluatedExpressionReference, buildInternal, clearCaches, clearMutated, clearMutated, clearProcessedAnnotationTypes, copyToRuntime, findRepeatableContainerNameForType, getAnnotationDefaultValues, getCachedAnnotationDefaults, getMappedAnnotationNames, getMappedAnnotationPackages, getRetentionPolicy, isEvaluatedExpression, isRepeatableAnnotationContainer, lookupOrBuild, lookupOrBuildForField, lookupOrBuildForField, lookupOrBuildForMethod, lookupOrBuildForOwner, lookupOrBuildForParameter, lookupOrBuildForType, postProcess, readNestedAnnotationValue, readNestedAnnotationValue, removeAnnotation, removeAnnotationIf, removeStereotype, validateAnnotationValue
-
Constructor Details
-
ScalaAnnotationMetadataBuilder
public ScalaAnnotationMetadataBuilder(io.micronaut.inject.visitor.VisitorContext visitorContext)
-
-
Method Details
-
getElementValidator
protected @Nullable io.micronaut.inject.annotation.AnnotatedElementValidator getElementValidator()- Overrides:
getElementValidatorin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getAnnotationMappers
protected <K extends Annotation> @Nullable List<io.micronaut.inject.annotation.AnnotationMapper<K>> getAnnotationMappers(String annotationName) - Overrides:
getAnnotationMappersin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getAnnotationTransformers
protected <K extends Annotation> @Nullable List<io.micronaut.inject.annotation.AnnotationTransformer<K>> getAnnotationTransformers(String annotationName) - Overrides:
getAnnotationTransformersin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getAnnotationRemappers
protected List<io.micronaut.inject.annotation.AnnotationRemapper> getAnnotationRemappers(String packageName) - Overrides:
getAnnotationRemappersin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
buildMetadata
public io.micronaut.inject.annotation.MutableAnnotationMetadata buildMetadata(ScalaAnnotatedElementData element) Build metadata for a Scala model element.- Parameters:
element- The element- Returns:
- The annotation metadata
-
getTypeForAnnotation
- Specified by:
getTypeForAnnotationin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
hasAnnotation
- Specified by:
hasAnnotationin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
hasAnnotation
- Specified by:
hasAnnotationin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
hasAnnotations
- Specified by:
hasAnnotationsin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getAnnotationTypeName
- Specified by:
getAnnotationTypeNamein classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getElementName
- Specified by:
getElementNamein classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getAnnotationsForType
- Specified by:
getAnnotationsForTypein classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
buildHierarchy
protected List<Object> buildHierarchy(Object element, boolean inheritTypeAnnotations, boolean declaredOnly) - Specified by:
buildHierarchyin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
readAnnotationRawValues
protected void readAnnotationRawValues(Object originatingElement, String annotationName, Object member, String memberName, Object annotationValue, Map<CharSequence, Object> annotationValues) - Specified by:
readAnnotationRawValuesin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
readAnnotationRawValues
protected void readAnnotationRawValues(Object originatingElement, String annotationName, Object member, String memberName, Object annotationValue, Map<CharSequence, Object> annotationValues, Map<String, Map<CharSequence, Object>> resolvedDefaults) - Overrides:
readAnnotationRawValuesin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
isValidationRequired
- Specified by:
isValidationRequiredin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
addError
- Specified by:
addErrorin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
addWarning
- Specified by:
addWarningin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
readAnnotationValue
-
readAnnotationDefaultValues
-
readAnnotationDefaultValues
protected Map<? extends Object, ?> readAnnotationDefaultValues(String annotationName, Object annotationType, boolean includeEmptyValues) The defaults an annotation type declares, by the same rule as the Java, Kotlin and Groovy builders: every member with a default is reported, whatever its shape, except that an empty string default is reported only whenincludeEmptyValuesis set. The written metadata omits it to stay small, andAnnotationValue.stringValueanswers empty for an absent member anyway;VisitorContext.getAnnotationDefaultValuesasks for it, so that "no default" can be told apart from "the empty string".- Overrides:
readAnnotationDefaultValuesin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
readAnnotationRawValues
- Specified by:
readAnnotationRawValuesin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getAnnotationValues
protected <K extends Annotation> Optional<io.micronaut.core.annotation.AnnotationValue<K>> getAnnotationValues(Object originatingElement, Object member, Class<K> annotationType) - Specified by:
getAnnotationValuesin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getAnnotationMemberName
- Specified by:
getAnnotationMemberNamein classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getRepeatableName
- Specified by:
getRepeatableNamein classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getRepeatableContainerNameForType
- Specified by:
getRepeatableContainerNameForTypein classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getAnnotationMirror
- Specified by:
getAnnotationMirrorin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getOriginatingClassName
- Specified by:
getOriginatingClassNamein classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getAnnotationMember
- Specified by:
getAnnotationMemberin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getVisitorContext
protected io.micronaut.inject.visitor.VisitorContext getVisitorContext()- Specified by:
getVisitorContextin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
getRetentionPolicy
- Specified by:
getRetentionPolicyin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-
isExcludedAnnotation
- Overrides:
isExcludedAnnotationin classio.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder<Object, ScalaAnnotationData>
-