@Internal public class GroovyClassElement extends AbstractGroovyElement implements ArrayableClassElement
ClassNode.| Modifier and Type | Field and Description |
|---|---|
protected org.codehaus.groovy.ast.ClassNode |
classNode |
compilationUnit, sourceUnit, visitorContextEMPTY_ELEMENT_ARRAYCLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBEREMPTY| Constructor and Description |
|---|
GroovyClassElement(GroovyVisitorContext visitorContext,
org.codehaus.groovy.ast.ClassNode classNode,
AnnotationMetadata annotationMetadata) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Map<java.lang.String,java.util.Map<java.lang.String,ClassElement>> |
getAllTypeArguments()
Builds a map of all the type parameters for a class, its super classes and interfaces.
|
int |
getArrayDimensions()
If the type is an array, the number of dimensions.
|
java.util.List<PropertyElement> |
getBeanProperties()
Returns the bean properties (getters and setters) for this class element.
|
java.util.Optional<MethodElement> |
getDefaultConstructor()
Find and return a single default constructor.
|
<T extends Element> |
getEnclosedElements(ElementQuery<T> query)
Return the elements that match the given query.
|
java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode>> |
getGenericTypeInfo()
Builds and returns the generic type information.
|
java.lang.String |
getName() |
java.lang.Object |
getNativeType()
Returns the native underlying type.
|
java.lang.String |
getPackageName()
The package name.
|
java.util.Optional<MethodElement> |
getPrimaryConstructor()
Find and return a single primary constructor.
|
java.lang.String |
getSimpleName()
The simple name without the package name.
|
java.util.Optional<ClassElement> |
getSuperType()
Returns the super type of this element or empty if the element has no super type.
|
java.util.Map<java.lang.String,ClassElement> |
getTypeArguments() |
java.util.Map<java.lang.String,ClassElement> |
getTypeArguments(java.lang.String type)
Get the type arguments for the given type name.
|
boolean |
isAbstract() |
boolean |
isArray()
Is the type an array.
|
boolean |
isAssignable(ClassElement type)
Tests whether one type is assignable to another.
|
boolean |
isAssignable(java.lang.String type)
Tests whether one type is assignable to another.
|
boolean |
isFinal() |
boolean |
isInner()
Is this type an inner class.
|
boolean |
isInterface() |
boolean |
isPrimitive()
Whether the type is primitive.
|
boolean |
isPrivate() |
boolean |
isProtected() |
boolean |
isPublic() |
boolean |
isStatic() |
java.lang.String |
toString() |
ClassElement |
withArrayDimensions(int arrayDimensions)
Convert the class element to an element for the same type, but with the given number of array dimensions.
|
alignNewGenericsInfo, annotate, getAnnotationMetadata, getGenericElement, isPackagePrivate, resolveAnnotationMetadata, toClassElementclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitfromArray, toArraygetCanonicalName, getEnclosedElement, getFields, getFields, getFirstTypeArgument, getType, getTypeArguments, isAssignable, isEnum, isIterable, isOptional, isRecord, of, of, ofgetGenericTypeannotate, annotate, annotate, annotate, getDocumentation, isPackagePrivatebooleanValue, 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, getAnnotation, getAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNames, getAnnotationNamesByStereotype, getAnnotationNamesByStereotype, getAnnotationType, getAnnotationType, getAnnotationTypeByStereotype, getAnnotationTypeByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByType, 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, isTrue, isTrue, longValue, longValue, stringValue, stringValue, stringValue, stringValue, stringValues, stringValues, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByTypehasDeclaredStereotypeisDeclaredNonNull, isDeclaredNullable, isNonNull, isNullablegetAnnotationMetadatapublic GroovyClassElement(GroovyVisitorContext visitorContext, org.codehaus.groovy.ast.ClassNode classNode, AnnotationMetadata annotationMetadata)
visitorContext - The visitor contextclassNode - The ClassNodeannotationMetadata - The annotation metadatapublic <T extends Element> java.util.List<T> getEnclosedElements(@NonNull ElementQuery<T> query)
ClassElementgetEnclosedElements in interface ClassElementT - The element typequery - The query to use.public boolean isInner()
ClassElementisInner in interface ClassElementpublic boolean isInterface()
isInterface in interface ClassElementpublic boolean isPrimitive()
TypedElementisPrimitive in interface TypedElementpublic java.util.Optional<ClassElement> getSuperType()
ClassElementgetSuperType in interface ClassElement@NonNull public java.util.Optional<MethodElement> getPrimaryConstructor()
ClassElementCreator or Inject.getPrimaryConstructor in interface ClassElement@NonNull public java.util.Optional<MethodElement> getDefaultConstructor()
ClassElementgetDefaultConstructor in interface ClassElementpublic java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.codehaus.groovy.ast.ClassNode>> getGenericTypeInfo()
@NonNull public java.util.Map<java.lang.String,ClassElement> getTypeArguments(@NonNull java.lang.String type)
ClassElementgetTypeArguments in interface ClassElementtype - The type to retrieve type arguments for@NonNull public java.util.Map<java.lang.String,java.util.Map<java.lang.String,ClassElement>> getAllTypeArguments()
ClassElementgetAllTypeArguments in interface ClassElement@NonNull public java.util.Map<java.lang.String,ClassElement> getTypeArguments()
getTypeArguments in interface ClassElementpublic java.util.List<PropertyElement> getBeanProperties()
ClassElementgetBeanProperties in interface ClassElementpublic boolean isArray()
TypedElementisArray in interface TypedElementpublic ClassElement withArrayDimensions(int arrayDimensions)
ArrayableClassElementwithArrayDimensions in interface ArrayableClassElementarrayDimensions - The number of array dimensions of the new class elementpublic int getArrayDimensions()
TypedElementgetArrayDimensions in interface TypedElementpublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String getName()
public java.lang.String getSimpleName()
ClassElementgetSimpleName in interface ClassElementgetSimpleName in interface Elementpublic java.lang.String getPackageName()
ClassElementgetPackageName in interface ClassElementpublic boolean isAbstract()
isAbstract in interface Elementpublic boolean isStatic()
public boolean isPublic()
public boolean isPrivate()
public boolean isFinal()
public boolean isProtected()
isProtected in interface Elementpublic java.lang.Object getNativeType()
ElementgetNativeType in interface Elementpublic boolean isAssignable(java.lang.String type)
ClassElementisAssignable in interface ClassElementtype - The type to checktrue if and only if the this type is assignable to the secondpublic boolean isAssignable(ClassElement type)
ClassElementisAssignable in interface ClassElementtype - The type to checktrue if and only if the this type is assignable to the second