public enum NestingKind extends Enum<NestingKind>
Note that it is possible additional nesting kinds will be added in future versions of the platform.
Example: The classes below are annotated with their nesting kind.
import java.lang.annotation.*;
import static java.lang.annotation.RetentionPolicy.*;
import javax.lang.model.element.*;
import static javax.lang.model.element.NestingKind.*;
@Nesting(TOP_LEVEL)
public class NestingExamples {
@Nesting(MEMBER)
static class MemberClass1{}
@Nesting(MEMBER)
class MemberClass2{}
public static void main(String... argv) {
@Nesting(LOCAL)
class LocalClass{};
Class<?>[] classes = {
NestingExamples.class,
MemberClass1.class,
MemberClass2.class,
LocalClass.class
};
for(Class<?> clazz : classes) {
System.out.format("%s is %s%n",
clazz.getName(),
clazz.getAnnotation(Nesting.class).value());
}
}
}
@Retention(RUNTIME)
@interface Nesting {
NestingKind value();
}
| Enum Constant and Description |
|---|
ANONYMOUS
A type without a name.
|
LOCAL
A named type declared within a construct other than a type.
|
MEMBER
A type that is a named member of another type.
|
TOP_LEVEL
A top-level type, not contained within another type.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
isNested()
Does this constant correspond to a nested type element?
A nested type element is any that is not top-level.
|
static NestingKind |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static NestingKind[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final NestingKind TOP_LEVEL
public static final NestingKind MEMBER
public static final NestingKind LOCAL
public static final NestingKind ANONYMOUS
public static NestingKind[] values()
for (NestingKind c : NestingKind.values()) System.out.println(c);
public static NestingKind valueOf(String name)
name - the name of the enum constant to be returned.IllegalArgumentException - if this enum type has no constant with the specified nameNullPointerException - if the argument is nullpublic boolean isNested()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.