Spec-Zone.ru › OpenJDK 8

Перечисление NestingKind

  • java.lang.Object
    • java.lang.Enum<NestingKind>
      • javax.lang.model.element.NestingKind
Все реализованные интерфейсы:
Serializable, Comparable<NestingKind>

public enum NestingKind
extends Enum<NestingKind>

Вид вложенности элемента типа. Элементы типа бывают четырёх видов: верхнего уровня, члена, локального и анонимного. Вид вложенности — это нестандартный термин, используемый здесь для обозначения этой классификации.

Обратите внимание, что в будущих версиях платформы могут быть добавлены дополнительные виды вложенности.

Пример: Классы ниже аннотированы своим видом вложенности.

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();
}
С тех пор:
1.6

Постоянные значения перечисления

Постоянное значение перечисления и описание
ANONYMOUS

Тип без имени.

LOCAL

Именованный тип, объявленный внутри конструкции, отличной от типа.

MEMBER

Тип, являющийся именованным членом другого типа.

TOP_LEVEL

Тип верхнего уровня, не содержащийся внутри другого типа.

Методы

Модификатор и тип Метод и описание
boolean isNested()

Соответствует ли эта константа элементу вложенного типа? Элемент вложенного типа — это любой, который не является типом верхнего уровня.

static NestingKind valueOf(String name)

Возвращает константу перечисления этого типа с указанным именем.

static NestingKind[] values()

Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления.

Методы, унаследованные от класса java.lang.Enum

clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

Методы, унаследованные от класса java.lang.Object

getClass, notify, notifyAll, wait, wait, wait

Постоянные значения перечисления

TOP_LEVEL

public static final NestingKind TOP_LEVEL

Тип верхнего уровня, не содержащийся внутри другого типа.

MEMBER

public static final NestingKind MEMBER

Тип, являющийся именованным членом другого типа.

LOCAL

public static final NestingKind LOCAL

Именованный тип, объявленный внутри конструкции, отличной от типа.

ANONYMOUS

public static final NestingKind ANONYMOUS

Тип без имени.

Методы

values

public static NestingKind[] values()

Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления. Этот метод можно использовать для итерации по константам следующим образом:

for (NestingKind c : NestingKind.values())
    System.out.println(c);

Возвращает:
массив, содержащий константы этого типа перечисления в порядке их объявления

valueOf

public static NestingKind valueOf(String name)

Возвращает константу перечисления этого типа с указанным именем. Строка должна точно совпадать с идентификатором, используемым для объявления константы перечисления в этом типе. (Дополнительные пробелы не допускаются.)

Параметры:
name - имя константы перечисления, которое нужно вернуть.
Возвращает:
константу перечисления с указанным именем
Исключение:
IllegalArgumentException - если в этом типе перечисления нет константы с указанным именем
NullPointerException - если аргумент равен null

isNested

public boolean isNested()

Соответствует ли эта константа элементу вложенного типа? Элемент вложенного типа — это любой, который не является типом верхнего уровня. Элемент внутреннего типа — это любой элемент вложенного типа, который не является статическим.

Возвращает:
является ли константа вложенной

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API