Class ScalaParameterElement
- All Implemented Interfaces:
io.micronaut.core.annotation.AnnotatedElement, io.micronaut.core.annotation.AnnotationMetadata, io.micronaut.core.annotation.AnnotationMetadataDelegate, io.micronaut.core.annotation.AnnotationMetadataProvider, io.micronaut.core.annotation.AnnotationSource, io.micronaut.core.naming.Described, io.micronaut.core.naming.Named, io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>, io.micronaut.inject.ast.Element, io.micronaut.inject.ast.ParameterElement, io.micronaut.inject.ast.TypedElement
-
Field Summary
Fields inherited from interface io.micronaut.core.annotation.AnnotationMetadata
CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBERFields inherited from interface io.micronaut.core.annotation.AnnotationSource
EMPTYFields inherited from interface io.micronaut.inject.ast.Element
EMPTY_ELEMENT_ARRAYFields inherited from interface io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate
EMPTYFields inherited from interface io.micronaut.inject.ast.ParameterElement
ZERO_PARAMETER_ELEMENTS -
Method Summary
Modifier and TypeMethodDescription<T extends Annotation>
io.micronaut.inject.ast.Elementannotate(io.micronaut.core.annotation.AnnotationValue<T> annotationValue) <T extends Annotation>
io.micronaut.inject.ast.Elementannotate(String annotationType, Consumer<io.micronaut.core.annotation.AnnotationValueBuilder<T>> consumer) protected Objectprotected Class<?> booleanio.micronaut.core.annotation.AnnotationMetadataprotected io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<?> getDocumentation(boolean parse) The documentation of this parameter, which is a tag on whatever declares it.protected io.micronaut.inject.ast.annotation.ElementAnnotationMetadataio.micronaut.inject.ast.ClassElementThe type with the declaring type's variables bound as they were where the method was reached:Bookfor theEof a method inherited throughRepo[Book, Long].io.micronaut.inject.ast.MethodElementSet<io.micronaut.inject.ast.ElementModifier> getName()io.micronaut.inject.ast.ClassElementgetType()booleanWhether this parameter declares a default value that a caller can supply.inthashCode()booleanbooleanisFinal()booleanA parameter is null-marked when the method that declares it is: `@NullMarked` on a class reaches a parameter only through the method, the same route the Java module takes.booleanbooleanbooleanbooleanisPublic()booleanisStatic()io.micronaut.inject.ast.ElementremoveAnnotation(String annotationType) <T extends Annotation>
io.micronaut.inject.ast.ElementremoveAnnotationIf(Predicate<io.micronaut.core.annotation.AnnotationValue<T>> predicate) io.micronaut.inject.ast.ElementremoveStereotype(String annotationType) io.micronaut.inject.ast.ParameterElementwithAnnotationMetadata(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata) Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.core.annotation.AnnotatedElement
isDeclaredNonNull, isDeclaredNullable, isNullableMethods inherited from interface io.micronaut.core.annotation.AnnotationMetadata
enumValuesSet, enumValuesSet, getValues, hasDeclaredStereotype, hasStereotypeNonRepeating, isAnnotationPresent, isDeclaredAnnotationPresentMethods inherited from interface io.micronaut.core.annotation.AnnotationMetadataDelegate
booleanValue, booleanValue, booleanValue, booleanValue, classValue, classValue, classValue, classValue, classValues, classValues, classValues, classValues, copyAnnotationMetadata, 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, getAnnotationValuesByName, getAnnotationValuesByStereotype, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByName, getDeclaredAnnotationValuesByType, getDeclaredMetadata, getDeclaredStereotypeAnnotationNames, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValues, getStereotypeAnnotationNames, getTargetAnnotationMetadata, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasEvaluatedExpressions, 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, synthesizeDeclaredAnnotationsByTypeMethods inherited from interface io.micronaut.core.annotation.AnnotationMetadataProvider
getAnnotationMetadataMethods inherited from interface io.micronaut.inject.ast.Element
annotate, annotate, annotate, annotate, annotate, getDescription, getDocumentation, getModifiers, getName, getNativeType, getSimpleName, isAbstract, isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isSynthetic, removeAnnotation, removeAnnotation, removeAnnotationIf, removeStereotype, removeStereotypeMethods inherited from interface io.micronaut.inject.ast.ParameterElement
getDescriptionMethods inherited from interface io.micronaut.inject.ast.TypedElement
getArrayDimensions, isArray, isPrimitive, isVoid
-
Method Details
-
hasDefault
public boolean hasDefault()Whether this parameter declares a default value that a caller can supply.Reports a default only when the generated accessor is reachable from a call site; see
defaultAccessorin the extractor. Core pairs this with aParameterDefaultValueProvider, whichScalaParameterDefaultValueProvidersupplies.- Specified by:
hasDefaultin interfaceio.micronaut.inject.ast.ParameterElement
-
getDocumentation
The documentation of this parameter, which is a tag on whatever declares it.A parameter carries no comment of its own in any language Micronaut supports; it is documented by a
@paramtag on its method. Scala adds a second place to look, and it is the one that matters most here: the parameters of a case class are its properties, so a@ConfigurationPropertiescase class documents each property as a@paramtag on the class. That is where the description in the generated configuration metadata comes from, and it is the same rule Java applies to records.Absent when
parseis false, because a tag's text is only reachable by parsing the comment that contains it -- the same answer the Java implementation gives.- Specified by:
getDocumentationin interfaceio.micronaut.inject.ast.Element- Parameters:
parse- Whether the comment may be parsed- Returns:
- The documentation for this parameter, if its declaration gives any
-
getType
public io.micronaut.inject.ast.ClassElement getType()- Specified by:
getTypein interfaceio.micronaut.inject.ast.ParameterElement- Specified by:
getTypein interfaceio.micronaut.inject.ast.TypedElement
-
getGenericType
public io.micronaut.inject.ast.ClassElement getGenericType()The type with the declaring type's variables bound as they were where the method was reached:Bookfor theEof a method inherited throughRepo[Book, Long].getType()stays the declared type -- the JVM signature an override has to be declared with.- Specified by:
getGenericTypein interfaceio.micronaut.inject.ast.TypedElement
-
getMethodElement
public io.micronaut.inject.ast.MethodElement getMethodElement()- Specified by:
getMethodElementin interfaceio.micronaut.inject.ast.ParameterElement
-
withAnnotationMetadata
public io.micronaut.inject.ast.ParameterElement withAnnotationMetadata(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata) - Specified by:
withAnnotationMetadatain interfaceio.micronaut.inject.ast.Element- Specified by:
withAnnotationMetadatain interfaceio.micronaut.inject.ast.ParameterElement
-
equalityKey
-
isNonNull
public boolean isNonNull()A parameter is null-marked when the method that declares it is: `@NullMarked` on a class reaches a parameter only through the method, the same route the Java module takes.- Specified by:
isNonNullin interfaceio.micronaut.core.annotation.AnnotatedElement
-
rawDocumentation
-
getName
- Specified by:
getNamein interfaceio.micronaut.inject.ast.Element- Specified by:
getNamein interfaceio.micronaut.core.naming.Named
-
isProtected
public boolean isProtected()- Specified by:
isProtectedin interfaceio.micronaut.inject.ast.Element
-
isPublic
public boolean isPublic()- Specified by:
isPublicin interfaceio.micronaut.inject.ast.Element
-
isPrivate
public boolean isPrivate()- Specified by:
isPrivatein interfaceio.micronaut.inject.ast.Element
-
isPackagePrivate
public boolean isPackagePrivate()- Specified by:
isPackagePrivatein interfaceio.micronaut.inject.ast.Element
-
isAbstract
public boolean isAbstract()- Specified by:
isAbstractin interfaceio.micronaut.inject.ast.Element
-
isStatic
public boolean isStatic()- Specified by:
isStaticin interfaceio.micronaut.inject.ast.Element
-
isFinal
public boolean isFinal()- Specified by:
isFinalin interfaceio.micronaut.inject.ast.Element
-
getModifiers
- Specified by:
getModifiersin interfaceio.micronaut.inject.ast.Element
-
getNativeType
- Specified by:
getNativeTypein interfaceio.micronaut.inject.ast.Element
-
getAnnotationMetadata
public io.micronaut.core.annotation.AnnotationMetadata getAnnotationMetadata()- Specified by:
getAnnotationMetadatain interfaceio.micronaut.core.annotation.AnnotationMetadataProvider
-
getElementAnnotationMetadata
protected io.micronaut.inject.ast.annotation.ElementAnnotationMetadata getElementAnnotationMetadata() -
getAnnotationMetadataToWrite
protected io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<?> getAnnotationMetadataToWrite() -
annotate
public <T extends Annotation> io.micronaut.inject.ast.Element annotate(String annotationType, Consumer<io.micronaut.core.annotation.AnnotationValueBuilder<T>> consumer) - Specified by:
annotatein interfaceio.micronaut.inject.ast.Element- Specified by:
annotatein interfaceio.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>
-
annotate
public <T extends Annotation> io.micronaut.inject.ast.Element annotate(io.micronaut.core.annotation.AnnotationValue<T> annotationValue) - Specified by:
annotatein interfaceio.micronaut.inject.ast.Element- Specified by:
annotatein interfaceio.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>
-
removeAnnotation
- Specified by:
removeAnnotationin interfaceio.micronaut.inject.ast.Element- Specified by:
removeAnnotationin interfaceio.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>
-
removeAnnotationIf
public <T extends Annotation> io.micronaut.inject.ast.Element removeAnnotationIf(Predicate<io.micronaut.core.annotation.AnnotationValue<T>> predicate) - Specified by:
removeAnnotationIfin interfaceio.micronaut.inject.ast.Element- Specified by:
removeAnnotationIfin interfaceio.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>
-
removeStereotype
- Specified by:
removeStereotypein interfaceio.micronaut.inject.ast.Element- Specified by:
removeStereotypein interfaceio.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>
-
equals
-
hashCode
-
equalityType
-