РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
117 of 1163 menu

Аннотация Documented

Аннотация Documented - это мета-аннотация, которая сообщает компилятору Java о том, что помеченная ею аннотация должна быть включена в документацию, генерируемую утилитой javadoc. По умолчанию аннотации не попадают в генерируемую документацию, и если вы хотите, чтобы ваша собственная аннотация отображалась в Javadoc, её необходимо пометить Documented. Параметров у этой аннотации нет.

Важно понимать, что Documented влияет только на генерацию документации и никак не влияет на поведение программы во время выполнения. Для того чтобы аннотация была доступна в рантайме, необходимо также указать RetentionPolicy.RUNTIME через аннотацию Retention.

Синтаксис

@Documented public @interface AnnotationName { // elements }

Пример

Давайте создадим собственную аннотацию, помеченную Documented, и применим её к методу:

import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Documented @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation { String value(); } public class Main { @MyAnnotation("test") public static void main(String[] args) { System.out.println("Annotation applied"); } }

Результат выполнения кода:

"Annotation applied"

Пример

Давайте проверим через рефлексию, что аннотация доступна во время выполнения:

import java.lang.annotation.Annotation; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.reflect.Method; @Documented @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation { String value(); } public class Main { @MyAnnotation("test") public static void main(String[] args) throws Exception { Method method = Main.class.getMethod("main", String[].class); Annotation[] annotations = method.getAnnotations(); System.out.println(annotations.length); } }

Результат выполнения кода:

1

Смотрите также

  • аннотация Annotation,
    которая является базовым интерфейсом всех аннотаций
  • аннотация Retention,
    которая задаёт политику хранения аннотации
  • аннотация Inherited,
    которая позволяет наследовать аннотацию подклассами
  • аннотация Target,
    которая ограничивает область применения аннотации
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить