Spec-Zone .ru
спецификации, руководства, описания, API
Пожалуйста, учтите, что спецификации и другая информация, содержащаяся здесь, не являются заключительными и могут быть изменены. Информация доступна для вас исключительно ради ознакомления.
 Платформа Java™
Стандарт Эд. 8

Проект сборка-b92

Пакет javax.lang.model.element

Интерфейсы, используемые, чтобы смоделировать элементы языка программирования Java.

См.: Описание

Пакет javax.lang.model.element Описание

Интерфейсы, используемые, чтобы смоделировать элементы языка программирования Java. Термин "элемент" в этом пакете используется, чтобы обратиться к элементам программы, объявленным объектам, которые составляют программу. Элементы включают классы, интерфейсы, методы, конструкторов, и поля. Интерфейсы в этом пакете не моделируют структуру программы в теле метода; например нет никакого представления a for цикл или try-finally блок. Однако, интерфейсы могут смоделировать некоторые структуры, только появляющиеся в телах метода, таких как локальные переменные и анонимные классы.

Когда использующийся в контексте обработки аннотации, точная модель представляемого элемента должна быть возвращена. Поскольку это - модель языка, исходный код обеспечивает основанное на вере (ссылка) представление рассматриваемой конструкции, а не представление в исполнимом выводе как файл class. Исполнимый вывод может служить основанием для того, чтобы создать элемент моделирования. Однако, процесс преобразования исходного кода к исполнимому выводу, возможно, не разрешает восстанавливать некоторые аспекты представления исходного кода. Например, аннотации с источник задержание не могут быть восстановлены с файлов class, и файлы class не могли бы быть в состоянии обеспечить исходную информацию о положении. Имена параметров, возможно, не восстанавливаемы от файлов class. Модификаторы на элементе могут отличаться в некоторых случаях включая:

Дополнительно, синтетические конструкции в файле class, такие как методы средства доступа, используемые в реализации вложенных классов и мостовых методов, используемых в реализации ковариантных возвратов, являются артефактами преобразования за пределами этой модели.

Во время обработки аннотации, работающей на неполных или ошибочных программах, необходимо; однако, есть меньше гарантий о природе получающейся модели. Если исходный код не синтаксически правильно построен или имеет некоторую другую неисправимую ошибку, которая не могла бы быть удалена генерацией новых типов, модель может или не может быть обеспечена как качество проблемы реализации. Если программа синтаксически допустима, но ошибочна некоторым другим способом, у любой возвращенной модели должно быть не меньше информации, чем если бы все тела метода в программе были заменены "throw new RuntimeException();". Если программа отсылает к недостающему типу XYZ, возвращенная модель должна содержать не меньше информации, чем если бы объявление типа XYZ, как предполагалось, было "class XYZ {}", "interface XYZ {}", "enum XYZ {}", или "@interface XYZ {}". Если программа относится к недостающему типу XYZ<K1, ... ,Kn>, возвращенная модель должна содержать не меньше информации, чем если бы объявление XYZ, как предполагалось, было "class XYZ<T1, ... ,Tn> {}" или "interface XYZ<T1, ... ,Tn> {}"

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

Если иначе не определено, методы в этом пакете бросят a NullPointerException если дано a null параметр.

С тех пор:
1.6
 Платформа Java™
Стандарт Эд. 8

Проект сборка-b92

Представьте ошибку или функцию
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.

Проект сборка-b92