Package org.codehaus.janino

# Class Java.PackageMemberEnumDeclaration

java.lang.Object
org.codehaus.janino.Java.AbstractTypeDeclaration
org.codehaus.janino.Java.AbstractClassDeclaration
org.codehaus.janino.Java.NamedClassDeclaration
org.codehaus.janino.Java.PackageMemberClassDeclaration
org.codehaus.janino.Java.PackageMemberEnumDeclaration

All Implemented Interfaces:
  `Java.Annotatable`, `Java.ClassDeclaration`, `Java.DocCommentable`, `Java.EnumDeclaration`, `Java.Locatable`, `Java.NamedTypeDeclaration`, `Java.PackageMemberTypeDeclaration`, `Java.Scope`, `Java.TypeDeclaration`

Enclosing class:
  `Java`

public static final class Java.PackageMemberEnumDeclaration extends Java.PackageMemberClassDeclaration implements Java.EnumDeclaration
Implementation of a "package member enum declaration", a.k.a. "top-level enum declaration".

## Field Summary

### Fields inherited from class org.codehaus.janino.Java.NamedClassDeclaration

`extendedType, implementedTypes, name`

### Fields inherited from class org.codehaus.janino.Java.AbstractClassDeclaration

`constructors, fieldDeclarationsAndInitializers`

### Fields inherited from class org.codehaus.janino.Java.AbstractTypeDeclaration

`anonymousClassCount, localClassCount`

## Constructor Summary

Constructors
Constructor
Description
`PackageMemberEnumDeclaration(Location location, String docComment, Java.Modifier[] modifiers, String name, Java.Type[] implementedTypes)`

## Method Summary

Modifier and Type
Method
Description
`<R, EX extends Throwable>
R`
`accept(Visitor.TypeDeclarationVisitor<R,EX> visitor)`
Invokes the "`visit...()`" method of `Visitor.TypeDeclarationVisitor` for the concrete `Java.TypeDeclaration` type.
`void`
`addConstant(Java.EnumConstant ec)`
Adds another constant to this enum declaration.
`List<Java.EnumConstant>`
`getConstants()`
`Java.Type[]`
`getImplementedTypes()`

### Methods inherited from class org.codehaus.janino.Java.PackageMemberClassDeclaration

`getAccess, getClassName, getDeclaringCompilationUnit, isStatic, setDeclaringCompilationUnit`

### Methods inherited from class org.codehaus.janino.Java.NamedClassDeclaration

`getDocComment, getName, hasDeprecatedDocTag, isAbstract, isFinal, isStrictfp, toString`

### Methods inherited from class org.codehaus.janino.Java.AbstractClassDeclaration

`addConstructor, addFieldDeclaration, addFieldDeclarationOrInitializer, addInitializer, defineSyntheticField, getSyntheticFields, getVariableDeclaratorsAndInitializers`

### Methods inherited from class org.codehaus.janino.Java.AbstractTypeDeclaration

`addDeclaredMethod, addMemberTypeDeclaration, createAnonymousClassName, createLocalTypeName, getAnnotations, getEnclosingScope, getLocation, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations, getModifiers, getOptionalTypeParameters, invalidateMethodCaches, setEnclosingScope, throwCompileException`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.codehaus.janino.Java.Annotatable

`getAnnotations`

### Methods inherited from interface org.codehaus.janino.Java.ClassDeclaration

`getSyntheticFields, getVariableDeclaratorsAndInitializers`

### Methods inherited from interface org.codehaus.janino.Java.DocCommentable

`getDocComment, hasDeprecatedDocTag`

### Methods inherited from interface org.codehaus.janino.Java.EnumDeclaration

`getModifiers, getName`

### Methods inherited from interface org.codehaus.janino.Java.Locatable

`getLocation, throwCompileException`

### Methods inherited from interface org.codehaus.janino.Java.NamedTypeDeclaration

`getOptionalTypeParameters`

### Methods inherited from interface org.codehaus.janino.Java.Scope

`getEnclosingScope`

### Methods inherited from interface org.codehaus.janino.Java.TypeDeclaration

`createAnonymousClassName, createLocalTypeName, getClassName, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations`

## Constructor Details

### PackageMemberEnumDeclaration

public PackageMemberEnumDeclaration(Location location, @Nullable String docComment, Java.Modifier[] modifiers, String name, Java.Type[] implementedTypes)

## Method Details

### getImplementedTypes

public Java.Type[] getImplementedTypes()

Specified by:
  `getImplementedTypes` in interface `Java.EnumDeclaration`
Returns:
  The interfaces that this enum implements

### getConstants

public List<Java.EnumConstant> getConstants()

Specified by:
  `getConstants` in interface `Java.EnumDeclaration`
Returns:
  The constants that this enum declares

### addConstant

public void addConstant(Java.EnumConstant ec)
Description copied from interface: `Java.EnumDeclaration`
Adds another constant to this enum declaration.

Specified by:
  `addConstant` in interface `Java.EnumDeclaration`

### accept

@Nullable public <R, EX extends Throwable> R accept(Visitor.TypeDeclarationVisitor<R,EX> visitor) throws EX
Description copied from interface: `Java.TypeDeclaration`
Invokes the "`visit...()`" method of `Visitor.TypeDeclarationVisitor` for the concrete `Java.TypeDeclaration` type.

Specified by:
  `accept` in interface `Java.TypeDeclaration`
Overrides:
  `accept` in class `Java.PackageMemberClassDeclaration`
Throws:
  `EX`