Package io.micronaut.ast.groovy.visitor
Class GroovyClassElement
java.lang.Object
io.micronaut.inject.ast.annotation.AbstractAnnotationElement
io.micronaut.ast.groovy.visitor.AbstractGroovyElement
io.micronaut.ast.groovy.visitor.GroovyClassElement
- 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.ArrayableClassElement,io.micronaut.inject.ast.ClassElement,io.micronaut.inject.ast.Element,io.micronaut.inject.ast.TypedElement
@Internal
public class GroovyClassElement
extends AbstractGroovyElement
implements io.micronaut.inject.ast.ArrayableClassElement
A class element returning data from a
ClassNode.- Since:
- 1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.codehaus.groovy.ast.ClassNodeFields inherited from class io.micronaut.ast.groovy.visitor.AbstractGroovyElement
compilationUnit, sourceUnit, visitorContextFields inherited from class io.micronaut.inject.ast.annotation.AbstractAnnotationElement
elementAnnotationMetadataFactory, presetAnnotationMetadataFields 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.ClassElement
ZERO_CLASS_ELEMENTSFields inherited from interface io.micronaut.inject.ast.Element
EMPTY_ELEMENT_ARRAYFields inherited from interface io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate
EMPTY -
Constructor Summary
ConstructorsConstructorDescriptionGroovyClassElement(GroovyVisitorContext visitorContext, GroovyNativeElement nativeElement, io.micronaut.inject.ast.annotation.ElementAnnotationMetadataFactory annotationMetadataFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected GroovyClassElementConstructs this element by invoking the constructor.io.micronaut.core.annotation.AnnotationMetadataprotected io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<?>intList<io.micronaut.inject.ast.PropertyElement>List<io.micronaut.inject.ast.PropertyElement>getBeanProperties(io.micronaut.inject.ast.PropertyElementQuery propertyElementQuery) @NonNull List<? extends io.micronaut.inject.ast.ClassElement>@NonNull List<? extends io.micronaut.inject.ast.GenericPlaceholderElement>Optional<io.micronaut.inject.ast.MethodElement><T extends io.micronaut.inject.ast.Element>
List<T>getEnclosedElements(@NonNull io.micronaut.inject.ast.ElementQuery<T> query) Optional<io.micronaut.inject.ast.ClassElement>Collection<io.micronaut.inject.ast.ClassElement>Set<io.micronaut.inject.ast.ElementModifier>getName()Optional<io.micronaut.inject.ast.ClassElement>io.micronaut.inject.ast.PackageElement@NonNull Optional<io.micronaut.inject.ast.MethodElement>final <T extends io.micronaut.inject.ast.Element>
List<T>getSourceEnclosedElements(@NonNull io.micronaut.inject.ast.ElementQuery<T> query) This method will produce th elements just likegetEnclosedElements(ElementQuery)but the elements are constructed as the source ones.Optional<io.micronaut.inject.ast.ClassElement>List<io.micronaut.inject.ast.PropertyElement>io.micronaut.inject.ast.ClassElementgetType()io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.core.annotation.AnnotationMetadata>booleanbooleanisArray()booleanisAssignable(io.micronaut.inject.ast.ClassElement type) booleanisAssignable(String type) booleanisFinal()booleanisInner()booleanbooleanbooleanbooleanbooleanisPublic()booleanisStatic()booleantoString()io.micronaut.inject.ast.ClassElementwithAnnotationMetadata(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata) io.micronaut.inject.ast.ClassElementwithArrayDimensions(int arrayDimensions) final @NonNull io.micronaut.inject.ast.ClassElementwithTypeArguments(@NonNull Collection<io.micronaut.inject.ast.ClassElement> typeArguments) io.micronaut.inject.ast.ClassElementwithTypeArguments(Map<String, io.micronaut.inject.ast.ClassElement> typeArguments) Methods inherited from class io.micronaut.ast.groovy.visitor.AbstractGroovyElement
copy, copyValues, equals, getDocumentation, getNativeType, hashCode, isPackagePrivate, newClassElement, newClassElement, newClassElement, resolveClassTypeArguments, resolveMethodTypeArguments, resolveModifiers, resolveModifiers, resolveModifiers, resolveTypeArgumentsToObjectMethods inherited from class io.micronaut.inject.ast.annotation.AbstractAnnotationElement
annotate, annotate, annotate, annotate, annotate, getElementAnnotationMetadata, getElementAnnotationMetadataFactory, removeAnnotation, removeAnnotation, removeAnnotationIf, removeStereotype, removeStereotypeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.micronaut.core.annotation.AnnotatedElement
isDeclaredNonNull, isDeclaredNullable, isNonNull, isNullableMethods inherited from interface io.micronaut.core.annotation.AnnotationMetadata
enumValuesSet, enumValuesSet, getValues, hasDeclaredStereotype, hasEvaluatedExpressions, 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, 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.inject.ast.ArrayableClassElement
fromArray, toArrayMethods inherited from interface io.micronaut.inject.ast.ClassElement
addAssociatedBean, findDefaultStaticCreator, findField, findMethod, findStaticCreator, foldBoundGenericTypes, getAccessibleConstructors, getAccessibleStaticCreators, getAllTypeArguments, getCanonicalName, getEnclosedElement, getFields, getFirstTypeArgument, getMethods, getRawClassElement, getTypeArguments, getTypeArguments, isAssignable, isContainerType, isEnum, isGenericPlaceholder, isIterable, isOptional, isProxy, isRawType, isRecord, isWildcard, withBoundGenericTypesMethods inherited from interface io.micronaut.inject.ast.Element
annotate, annotate, annotate, annotate, annotate, getDescription, getDescription, getDocumentation, getNativeType, isPackagePrivate, isSynthetic, removeAnnotation, removeAnnotation, removeAnnotationIf, removeStereotype, removeStereotypeMethods inherited from interface io.micronaut.inject.ast.TypedElement
getGenericType, isVoid
-
Field Details
-
classNode
protected final org.codehaus.groovy.ast.ClassNode classNode -
resolvedTypeArguments
-
-
Constructor Details
-
GroovyClassElement
public GroovyClassElement(GroovyVisitorContext visitorContext, GroovyNativeElement nativeElement, io.micronaut.inject.ast.annotation.ElementAnnotationMetadataFactory annotationMetadataFactory) - Parameters:
visitorContext- The visitor contextnativeElement- The native elementannotationMetadataFactory- The annotation metadata
-
-
Method Details
-
copyConstructor
Description copied from class:AbstractGroovyElementConstructs this element by invoking the constructor.- Specified by:
copyConstructorin classAbstractGroovyElement- Returns:
- the copy
-
getAnnotationMetadata
public io.micronaut.core.annotation.AnnotationMetadata getAnnotationMetadata()- Specified by:
getAnnotationMetadatain interfaceio.micronaut.core.annotation.AnnotationMetadataProvider- Overrides:
getAnnotationMetadatain classio.micronaut.inject.ast.annotation.AbstractAnnotationElement
-
getAnnotationMetadataToWrite
protected io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<?> getAnnotationMetadataToWrite()- Overrides:
getAnnotationMetadataToWritein classio.micronaut.inject.ast.annotation.AbstractAnnotationElement
-
withAnnotationMetadata
public io.micronaut.inject.ast.ClassElement withAnnotationMetadata(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata) - Specified by:
withAnnotationMetadatain interfaceio.micronaut.inject.ast.ClassElement- Specified by:
withAnnotationMetadatain interfaceio.micronaut.inject.ast.Element- Overrides:
withAnnotationMetadatain classAbstractGroovyElement
-
withTypeArguments
public io.micronaut.inject.ast.ClassElement withTypeArguments(Map<String, io.micronaut.inject.ast.ClassElement> typeArguments) - Specified by:
withTypeArgumentsin interfaceio.micronaut.inject.ast.ClassElement
-
withTypeArguments
@NonNull public final @NonNull io.micronaut.inject.ast.ClassElement withTypeArguments(@NonNull @NonNull Collection<io.micronaut.inject.ast.ClassElement> typeArguments) - Specified by:
withTypeArgumentsin interfaceio.micronaut.inject.ast.ClassElement
-
isTypeVariable
public boolean isTypeVariable()- Specified by:
isTypeVariablein interfaceio.micronaut.inject.ast.ClassElement
-
getEnclosedElements
public <T extends io.micronaut.inject.ast.Element> List<T> getEnclosedElements(@NonNull @NonNull io.micronaut.inject.ast.ElementQuery<T> query) - Specified by:
getEnclosedElementsin interfaceio.micronaut.inject.ast.ClassElement
-
getSourceEnclosedElements
public final <T extends io.micronaut.inject.ast.Element> List<T> getSourceEnclosedElements(@NonNull @NonNull io.micronaut.inject.ast.ElementQuery<T> query) This method will produce th elements just likegetEnclosedElements(ElementQuery)but the elements are constructed as the source ones.ElementFactory.newSourceMethodElement(ClassElement, Object, ElementAnnotationMetadataFactory).- Type Parameters:
T- The element type- Parameters:
query- The query- Returns:
- The list of elements
-
getModifiers
- Specified by:
getModifiersin interfaceio.micronaut.inject.ast.Element
-
isInner
public boolean isInner()- Specified by:
isInnerin interfaceio.micronaut.inject.ast.ClassElement
-
getEnclosingType
- Specified by:
getEnclosingTypein interfaceio.micronaut.inject.ast.ClassElement
-
isInterface
public boolean isInterface()- Specified by:
isInterfacein interfaceio.micronaut.inject.ast.ClassElement
-
isPrimitive
public boolean isPrimitive()- Specified by:
isPrimitivein interfaceio.micronaut.inject.ast.TypedElement
-
getInterfaces
- Specified by:
getInterfacesin interfaceio.micronaut.inject.ast.ClassElement
-
getSuperType
- Specified by:
getSuperTypein interfaceio.micronaut.inject.ast.ClassElement
-
getPrimaryConstructor
- Specified by:
getPrimaryConstructorin interfaceio.micronaut.inject.ast.ClassElement
-
getDefaultConstructor
- Specified by:
getDefaultConstructorin interfaceio.micronaut.inject.ast.ClassElement
-
getTypeArguments
- Specified by:
getTypeArgumentsin interfaceio.micronaut.inject.ast.ClassElement
-
getSyntheticBeanProperties
- Specified by:
getSyntheticBeanPropertiesin interfaceio.micronaut.inject.ast.ClassElement
-
getBeanProperties
public List<io.micronaut.inject.ast.PropertyElement> getBeanProperties(io.micronaut.inject.ast.PropertyElementQuery propertyElementQuery) - Specified by:
getBeanPropertiesin interfaceio.micronaut.inject.ast.ClassElement
-
getBeanProperties
- Specified by:
getBeanPropertiesin interfaceio.micronaut.inject.ast.ClassElement
-
isArray
public boolean isArray()- Specified by:
isArrayin interfaceio.micronaut.inject.ast.TypedElement
-
withArrayDimensions
public io.micronaut.inject.ast.ClassElement withArrayDimensions(int arrayDimensions) - Specified by:
withArrayDimensionsin interfaceio.micronaut.inject.ast.ArrayableClassElement
-
getArrayDimensions
public int getArrayDimensions()- Specified by:
getArrayDimensionsin interfaceio.micronaut.inject.ast.TypedElement
-
toString
-
getName
- Specified by:
getNamein interfaceio.micronaut.inject.ast.Element- Specified by:
getNamein interfaceio.micronaut.core.naming.Named
-
getSimpleName
- Specified by:
getSimpleNamein interfaceio.micronaut.inject.ast.ClassElement- Specified by:
getSimpleNamein interfaceio.micronaut.inject.ast.Element
-
getPackageName
- Specified by:
getPackageNamein interfaceio.micronaut.inject.ast.ClassElement
-
getPackage
public io.micronaut.inject.ast.PackageElement getPackage()- Specified by:
getPackagein interfaceio.micronaut.inject.ast.ClassElement
-
isAbstract
public boolean isAbstract()- Specified by:
isAbstractin interfaceio.micronaut.inject.ast.Element
-
isStatic
public boolean isStatic()- Specified by:
isStaticin 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
-
isFinal
public boolean isFinal()- Specified by:
isFinalin interfaceio.micronaut.inject.ast.Element
-
isProtected
public boolean isProtected()- Specified by:
isProtectedin interfaceio.micronaut.inject.ast.Element
-
isAssignable
- Specified by:
isAssignablein interfaceio.micronaut.inject.ast.ClassElement
-
isAssignable
public boolean isAssignable(io.micronaut.inject.ast.ClassElement type) - Specified by:
isAssignablein interfaceio.micronaut.inject.ast.ClassElement
-
getOptionalValueType
- Specified by:
getOptionalValueTypein interfaceio.micronaut.inject.ast.ClassElement
-
getBoundGenericTypes
@NonNull public @NonNull List<? extends io.micronaut.inject.ast.ClassElement> getBoundGenericTypes()- Specified by:
getBoundGenericTypesin interfaceio.micronaut.inject.ast.ClassElement
-
getDeclaredGenericPlaceholders
@NonNull public @NonNull List<? extends io.micronaut.inject.ast.GenericPlaceholderElement> getDeclaredGenericPlaceholders()- Specified by:
getDeclaredGenericPlaceholdersin interfaceio.micronaut.inject.ast.ClassElement
-
getType
public io.micronaut.inject.ast.ClassElement getType()- Specified by:
getTypein interfaceio.micronaut.inject.ast.ClassElement- Specified by:
getTypein interfaceio.micronaut.inject.ast.TypedElement
-
getTypeAnnotationMetadata
public io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.core.annotation.AnnotationMetadata> getTypeAnnotationMetadata()- Specified by:
getTypeAnnotationMetadatain interfaceio.micronaut.inject.ast.ClassElement
-