Class CtEnumImpl<T extends Enum<?>>
java.lang.Object
spoon.support.reflect.declaration.CtElementImpl
spoon.support.reflect.declaration.CtNamedElementImpl
spoon.support.reflect.declaration.CtTypeImpl<T>
spoon.support.reflect.declaration.CtClassImpl<T>
spoon.support.reflect.declaration.CtEnumImpl<T>
- All Implemented Interfaces:
Serializable,Cloneable,FactoryAccessor,CtCodeElement,CtStatement,SourcePositionHolder,CtClass<T>,CtElement,CtEnum<T>,CtFormalTypeDeclarer,CtModifiable,CtNamedElement,CtSealable,CtShadowable,CtType<T>,CtTypeInformation,CtTypeMember,CtQueryable,CtVisitable
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from class spoon.support.reflect.declaration.CtElementImpl
ERROR_MESSAGE_TO_STRING, factory, LOGGER, parentFields inherited from interface spoon.reflect.declaration.CtType
INNERTTYPE_SEPARATOR, NAME_UNKNOWN -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAccepts a visitoraddEnumValue(CtEnumValue<?> enumValue)Adds an enum value.addPermittedType(CtTypeReference<?> type)Adds a permitted type to this type.clone()Clone the element which calls this method in a new object.Return all the methods that can be called on an instance of this type.CtEnumValue<?>getEnumValue(String name)Gets an enum value by its name.List<CtEnumValue<?>>Gets all enum values of the enumeration.CtField<?>Gets a field from its name.Returns the fields that are directly declared by this class or interface.Returns the formal type parameters of this generic element.<R> CtMethod<R>getMethod(String name, CtTypeReference<?>... parameterTypes)Gets a method from its name and parameter types.<R> CtMethod<R>getMethod(CtTypeReference<R> returnType, String name, CtTypeReference<?>... parameterTypes)Gets a method from its return type, name, and parameter types.Set<CtTypeReference<?>>Returns the permitted types for this type.Returns a reference to the type directly extended by this type.booleanisClass()Returns true if this type is a class.booleanisEnum()Returns true if this type is an enum.booleanisSubtypeOf(CtTypeReference<?> type)Checks if this type is a subtype of the given type.booleanremoveEnumValue(CtEnumValue<?> enumValue)Removes en enum value.removePermittedType(CtTypeReference<?> type)Adds a permitted type to this type.setEnumValues(List<CtEnumValue<?>> enumValues)Sets all enum values of the enum.<C extends CtFormalTypeDeclarer>
CsetFormalCtTypeParameters(List<CtTypeParameter> formalTypeParameters)Sets the type parameters of this generic element.setPermittedTypes(Collection<CtTypeReference<?>> permittedTypes)Sets the permitted types for this type.setSuperclass(CtTypeReference<?> superClass)Sets the superclass type.Methods inherited from class spoon.support.reflect.declaration.CtClassImpl
addAnonymousExecutable, addConstructor, getAllExecutables, getAnonymousExecutables, getConstructor, getConstructors, getDeclaredExecutables, getLabel, insertAfter, insertAfter, insertBefore, insertBefore, isAnonymous, newInstance, partiallyEvaluate, removeAnonymousExecutable, removeConstructor, setAnonymousExecutables, setConstructors, setLabelMethods inherited from class spoon.support.reflect.declaration.CtTypeImpl
addField, addField, addFieldAtTop, addFormalCtTypeParameter, addFormalCtTypeParameterAt, addMethod, addModifier, addNestedType, addSuperInterface, addTypeMember, addTypeMemberAt, compileAndReplaceSnippets, copyType, getActualClass, getAllFields, getDeclaredField, getDeclaredFields, getDeclaredOrInheritedField, getDeclaringType, getExtendedModifiers, getMethods, getMethodsAnnotatedWith, getMethodsByName, getModifiers, getNestedType, getNestedTypes, getPackage, getQualifiedName, getReference, getSuperInterfaces, getTopLevelType, getTypeErasure, getTypeMembers, getUsedTypes, getVisibility, hasMethod, hasModifier, hasSameParameters, isAbstract, isAnnotationType, isArray, isFinal, isGenerics, isInterface, isLocalType, isNative, isParameterized, isPrimitive, isPrivate, isProtected, isPublic, isShadow, isStatic, isStrictfp, isSynchronized, isTopLevel, isTransient, isVolatile, removeField, removeFormalCtTypeParameter, removeMethod, removeModifier, removeNestedType, removeSuperInterface, removeTypeMember, setExtendedModifiers, setFields, setMethods, setModifiers, setNestedTypes, setShadow, setSimpleName, setSuperInterfaces, setTypeMembers, setVisibility, toStringWithImportsMethods inherited from class spoon.support.reflect.declaration.CtNamedElementImpl
getSimpleNameMethods inherited from class spoon.support.reflect.declaration.CtElementImpl
addAnnotation, addComment, asIterable, comment, delete, descendantIterator, emptyList, emptySet, equals, filterChildren, getAllMetadata, getAnnotatedChildren, getAnnotation, getAnnotation, getAnnotations, getComments, getDirectChildren, getDocComment, getElements, getFactory, getMetadata, getMetadataKeys, getOriginalSourceFragment, getParent, getParent, getParent, getPath, getPosition, getReferencedTypes, getRoleInParent, getShortRepresentation, getValueByRole, hasAnnotation, hashCode, hasParent, isImplicit, isParentInitialized, map, map, prettyprint, putMetadata, removeAnnotation, removeComment, replace, replace, setAllMetadata, setAnnotations, setComments, setDocComment, setFactory, setImplicit, setParent, setPosition, setPositions, setValueByRole, toString, toStringDebug, unmodifiableList, updateAllParentsBelowMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface spoon.reflect.declaration.CtClass
addAnonymousExecutable, addConstructor, getAnonymousExecutables, getConstructor, getConstructors, isAnonymous, newInstance, removeAnonymousExecutable, removeConstructor, setAnonymousExecutables, setConstructors, setLabelMethods inherited from interface spoon.reflect.code.CtCodeElement
partiallyEvaluateMethods inherited from interface spoon.reflect.declaration.CtElement
addAnnotation, addComment, asIterable, delete, descendantIterator, getAllMetadata, getAnnotatedChildren, getAnnotation, getAnnotation, getAnnotations, getComments, getDirectChildren, getDocComment, getElements, getMetadata, getMetadataKeys, getOriginalSourceFragment, getParent, getParent, getParent, getPath, getPosition, getReferencedTypes, getRoleInParent, getShortRepresentation, getValueByRole, hasAnnotation, hasParent, isImplicit, isParentInitialized, prettyprint, putMetadata, removeAnnotation, removeComment, replace, replace, setAllMetadata, setAnnotations, setComments, setDocComment, setImplicit, setParent, setPosition, setPositions, setValueByRole, toString, toStringDebug, updateAllParentsBelowMethods inherited from interface spoon.reflect.declaration.CtFormalTypeDeclarer
addFormalCtTypeParameter, addFormalCtTypeParameterAt, removeFormalCtTypeParameterMethods inherited from interface spoon.reflect.declaration.CtModifiable
addModifier, getExtendedModifiers, getModifiers, getVisibility, hasModifier, isAbstract, isFinal, isNative, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSynchronized, isTransient, isVolatile, removeModifier, setExtendedModifiers, setModifiers, setVisibilityMethods inherited from interface spoon.reflect.declaration.CtNamedElement
setSimpleNameMethods inherited from interface spoon.reflect.visitor.chain.CtQueryable
filterChildren, map, mapMethods inherited from interface spoon.reflect.declaration.CtShadowable
isShadow, setShadowMethods inherited from interface spoon.reflect.code.CtStatement
comment, getLabel, insertAfter, insertAfter, insertBefore, insertBeforeMethods inherited from interface spoon.reflect.declaration.CtType
addField, addField, addFieldAtTop, addMethod, addNestedType, addSuperInterface, addTypeMember, addTypeMemberAt, compileAndReplaceSnippets, copyType, getActualClass, getMethods, getMethodsAnnotatedWith, getMethodsByName, getNestedType, getNestedTypes, getPackage, getReference, getSimpleName, getTypeMembers, getUsedTypes, hasMethod, isTopLevel, removeField, removeMethod, removeNestedType, removeSuperInterface, removeTypeMember, setFields, setMethods, setNestedTypes, setSuperInterfaces, setTypeMembers, toStringWithImportsMethods inherited from interface spoon.reflect.declaration.CtTypeInformation
getAllExecutables, getAllFields, getDeclaredExecutables, getDeclaredField, getDeclaredFields, getDeclaredOrInheritedField, getModifiers, getQualifiedName, getSuperInterfaces, getTypeErasure, isAnnotationType, isArray, isGenerics, isInterface, isLocalType, isParameterized, isPrimitiveMethods inherited from interface spoon.reflect.declaration.CtTypeMember
getDeclaringType, getTopLevelTypeMethods inherited from interface spoon.processing.FactoryAccessor
getFactory, setFactory
-
Constructor Details
-
CtEnumImpl
public CtEnumImpl()
-
-
Method Details
-
accept
Description copied from interface:CtVisitableAccepts a visitor- Specified by:
acceptin interfaceCtVisitable- Overrides:
acceptin classCtClassImpl<T extends Enum<?>>
-
getAllMethods
Description copied from interface:CtTypeReturn all the methods that can be called on an instance of this type. It recursively collects all methods (both concrete and abstract) from all super-classes and all super-interfaces. It deduplicates methods with the same signature, which are defined several times somewhere in the type hierarchy. Warning: this method can be really slow due to signature deduplication. It includes all methods: the methods of types whose source code is in the Spoon model, the methods of types from the JDK and from libraries present in the classpath, the methods of java.lang.Object (for all CtClass objects). However, in noclasspath mode, it does not include methods from unknown types. If methods are overridden somewhere in the type hierarchy, it returns only top methods (ie method definitions).- Specified by:
getAllMethodsin interfaceCtType<T extends Enum<?>>- Overrides:
getAllMethodsin classCtTypeImpl<T extends Enum<?>>
-
isSubtypeOf
Description copied from interface:CtTypeInformationChecks if this type is a subtype of the given type.- Specified by:
isSubtypeOfin interfaceCtTypeInformation- Overrides:
isSubtypeOfin classCtClassImpl<T extends Enum<?>>- Parameters:
type- the type that might be a parent of this type.- Returns:
trueif the referenced type is a subtype of the given type, otherwisefalse. If this type is the same as the given type (typeX.isSubtypeOf(typeX)), this method returnstrue.
-
addEnumValue
Description copied from interface:CtEnumAdds an enum value.- Specified by:
addEnumValuein interfaceCtEnum<T extends Enum<?>>- Parameters:
enumValue- An enum value.- Returns:
- true if this element changed as a result of the call
-
removeEnumValue
Description copied from interface:CtEnumRemoves en enum value.- Specified by:
removeEnumValuein interfaceCtEnum<T extends Enum<?>>- Parameters:
enumValue- An enum value.- Returns:
- true if this element changed as a result of the call
-
getEnumValue
Description copied from interface:CtEnumGets an enum value by its name.- Specified by:
getEnumValuein interfaceCtEnum<T extends Enum<?>>- Parameters:
name- Name of the enum value.- Returns:
- An enum value.
-
getEnumValues
Description copied from interface:CtEnumGets all enum values of the enumeration.- Specified by:
getEnumValuesin interfaceCtEnum<T extends Enum<?>>- Returns:
- All enum values.
-
setEnumValues
Description copied from interface:CtEnumSets all enum values of the enum.- Specified by:
setEnumValuesin interfaceCtEnum<T extends Enum<?>>
-
getFields
Description copied from interface:CtTypeReturns the fields that are directly declared by this class or interface. Includes enum constants. Derived fromCtType.getTypeMembers() -
getField
Description copied from interface:CtTypeGets a field from its name. -
clone
Description copied from interface:CtElementClone the element which calls this method in a new object. Note that that references are kept as is, and thus, so if you clone whole classes or methods, some parts of the cloned element (eg executable references) may still point to the initial element. In this case, consider using methodsRefactoring.copyType(CtType)andRefactoring.copyMethod(CtMethod)instead which does additional work beyond cloning.- Specified by:
clonein interfaceCtClass<T extends Enum<?>>- Specified by:
clonein interfaceCtCodeElement- Specified by:
clonein interfaceCtElement- Specified by:
clonein interfaceCtEnum<T extends Enum<?>>- Specified by:
clonein interfaceCtNamedElement- Specified by:
clonein interfaceCtStatement- Specified by:
clonein interfaceCtType<T extends Enum<?>>- Overrides:
clonein classCtClassImpl<T extends Enum<?>>
-
getPermittedTypes
Description copied from interface:CtSealableReturns the permitted types for this type.- Specified by:
getPermittedTypesin interfaceCtEnum<T extends Enum<?>>- Specified by:
getPermittedTypesin interfaceCtSealable- Overrides:
getPermittedTypesin classCtClassImpl<T extends Enum<?>>- Returns:
- an unmodifiable view of the permitted types.
-
setPermittedTypes
Description copied from interface:CtSealableSets the permitted types for this type. Calling this method does not change the state of theModifierKind.SEALEDfor this type. The previously permitted types will be removed.- Specified by:
setPermittedTypesin interfaceCtEnum<T extends Enum<?>>- Specified by:
setPermittedTypesin interfaceCtSealable- Overrides:
setPermittedTypesin classCtClassImpl<T extends Enum<?>>- Parameters:
permittedTypes- the permitted types to set.- Returns:
- this.
-
addPermittedType
Description copied from interface:CtSealableAdds a permitted type to this type. Calling this method does not change the state of theModifierKind.SEALEDfor this type.- Specified by:
addPermittedTypein interfaceCtEnum<T extends Enum<?>>- Specified by:
addPermittedTypein interfaceCtSealable- Overrides:
addPermittedTypein classCtClassImpl<T extends Enum<?>>- Parameters:
type- the type to add as permitted type.- Returns:
- this.
-
removePermittedType
Description copied from interface:CtSealableAdds a permitted type to this type. Calling this method does not change the state of theModifierKind.SEALEDfor this type.- Specified by:
removePermittedTypein interfaceCtEnum<T extends Enum<?>>- Specified by:
removePermittedTypein interfaceCtSealable- Overrides:
removePermittedTypein classCtClassImpl<T extends Enum<?>>- Parameters:
type- the type to remove from this type's permitted types.- Returns:
- this.
-
getSuperclass
Description copied from interface:CtTypeInformationReturns a reference to the type directly extended by this type.To get the
CtTypeof the super class, useCtTypeReference.getDeclaration()orCtTypeReference.getTypeDeclaration()on theCtTypeReferencereturned by this method.- Specified by:
getSuperclassin interfaceCtTypeInformation- Overrides:
getSuperclassin classCtClassImpl<T extends Enum<?>>- Returns:
- the type explicitly extended by this type, or
nullif there is none or if the super type is not in the classpath (in noclasspath mode). If a class does not explicitly extend another classnullis returned (notObject). For types like enums that implicitly extend a superclass likeEnum, this method returns that class.
-
setSuperclass
Description copied from interface:CtTypeSets the superclass type.- Specified by:
setSuperclassin interfaceCtEnum<T extends Enum<?>>- Specified by:
setSuperclassin interfaceCtType<T extends Enum<?>>- Overrides:
setSuperclassin classCtClassImpl<T extends Enum<?>>
-
getMethod
Description copied from interface:CtTypeGets a method from its name and parameter types. -
getMethod
public <R> CtMethod<R> getMethod(CtTypeReference<R> returnType, String name, CtTypeReference<?>... parameterTypes)Description copied from interface:CtTypeGets a method from its return type, name, and parameter types. -
isClass
public boolean isClass()Description copied from interface:CtTypeInformationReturns true if this type is a class. Returns false for others (enum, interface, generics, annotation).- Specified by:
isClassin interfaceCtTypeInformation- Overrides:
isClassin classCtClassImpl<T extends Enum<?>>
-
isEnum
public boolean isEnum()Description copied from interface:CtTypeInformationReturns true if this type is an enum.- Specified by:
isEnumin interfaceCtTypeInformation- Overrides:
isEnumin classCtTypeImpl<T extends Enum<?>>
-
getFormalCtTypeParameters
Description copied from interface:CtFormalTypeDeclarerReturns the formal type parameters of this generic element.- Specified by:
getFormalCtTypeParametersin interfaceCtFormalTypeDeclarer- Overrides:
getFormalCtTypeParametersin classCtTypeImpl<T extends Enum<?>>
-
setFormalCtTypeParameters
public <C extends CtFormalTypeDeclarer> C setFormalCtTypeParameters(List<CtTypeParameter> formalTypeParameters)Description copied from interface:CtFormalTypeDeclarerSets the type parameters of this generic element.- Specified by:
setFormalCtTypeParametersin interfaceCtEnum<T extends Enum<?>>- Specified by:
setFormalCtTypeParametersin interfaceCtFormalTypeDeclarer- Overrides:
setFormalCtTypeParametersin classCtTypeImpl<T extends Enum<?>>
-