Package org.codehaus.janino

# Class Java.PackageMemberInterfaceDeclaration

java.lang.Object
org.codehaus.janino.Java.AbstractTypeDeclaration
org.codehaus.janino.Java.InterfaceDeclaration
org.codehaus.janino.Java.PackageMemberInterfaceDeclaration

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

Direct Known Subclasses:
  `Java.PackageMemberAnnotationTypeDeclaration`

Enclosing class:
  `Java`

public static class Java.PackageMemberInterfaceDeclaration extends Java.InterfaceDeclaration implements Java.PackageMemberTypeDeclaration
Representation of a "package member interface declaration", a.k.a. "top-level interface declaration".

`Java.PackageMemberAnnotationTypeDeclaration` extends this class.

## Field Summary

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

`constantDeclarations, extendedTypes, name`

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

`anonymousClassCount, localClassCount`

## Constructor Summary

Constructors
Constructor
Description
`PackageMemberInterfaceDeclaration(Location location, String docComment, Java.Modifier[] modifiers, String name, Java.TypeParameter[] typeParameters, Java.Type[] extendedTypes)`

## 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.
`Access`
`getAccess()`
`Java.Annotation[]`
`getAnnotations()`
`String`
`getClassName()`
Determines the effective class name, e.g.
`Java.CompilationUnit`
`getDeclaringCompilationUnit()`
`boolean`
`isAbstract()`
`boolean`
`isStatic()`
`boolean`
`isStrictfp()`
`void`
`setDeclaringCompilationUnit(Java.CompilationUnit declaringCompilationUnit)`
Sets the `Java.AbstractCompilationUnit` in which this top-level type is declared.

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

`addConstantDeclaration, getDocComment, getName, hasDeprecatedDocTag, toString`

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

`addDeclaredMethod, addMemberTypeDeclaration, createAnonymousClassName, createLocalTypeName, 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.Locatable

`getLocation, throwCompileException`

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

`getName, getOptionalTypeParameters`

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

`getEnclosingScope`

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

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

## Constructor Details

### PackageMemberInterfaceDeclaration

public PackageMemberInterfaceDeclaration(Location location, @Nullable String docComment, Java.Modifier[] modifiers, String name, @Nullable Java.TypeParameter[] typeParameters, Java.Type[] extendedTypes)

## Method Details

### setDeclaringCompilationUnit

public void setDeclaringCompilationUnit(Java.CompilationUnit declaringCompilationUnit)
Description copied from interface: `Java.PackageMemberTypeDeclaration`
Sets the `Java.AbstractCompilationUnit` in which this top-level type is declared.

Specified by:
  `setDeclaringCompilationUnit` in interface `Java.PackageMemberTypeDeclaration`

### getDeclaringCompilationUnit

public Java.CompilationUnit getDeclaringCompilationUnit()

Specified by:
  `getDeclaringCompilationUnit` in interface `Java.PackageMemberTypeDeclaration`
Returns:
  The `Java.AbstractCompilationUnit` in which this top-level type is declared.

### getAccess

public Access getAccess()

Specified by:
  `getAccess` in interface `Java.PackageMemberTypeDeclaration`
Returns:
  The accessability declared for this top-level type

### getAnnotations

public Java.Annotation[] getAnnotations()

Specified by:
  `getAnnotations` in interface `Java.Annotatable`
Overrides:
  `getAnnotations` in class `Java.AbstractTypeDeclaration`
Returns:
  The annotations of this `Java.TypeDeclaration`, `Java.FieldDeclaration`, `Java.MethodDeclarator` or `Java.ConstructorDeclarator`

### isAbstract

public boolean isAbstract()

### isStatic

public boolean isStatic()

### isStrictfp

public boolean isStrictfp()

### getClassName

public String getClassName()
Description copied from interface: `Java.TypeDeclaration`
Determines the effective class name, e.g. "pkg.Outer$Inner".

Specified by:
  `getClassName` in interface `Java.TypeDeclaration`

### 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`
Throws:
  `EX`