Интерфейс ProcessingEnvironment
public interface ProcessingEnvironment
Третьи стороны могут захотеть предоставить обёртки над объектами-утилитами из этого интерфейса, например, расширение Filer, которое позволяет множеству процессоров координировать запись в один исходный файл. Для этого, чтобы процессоры, работающие в контексте, где их побочные эффекты через API могут быть видны друг другу, инфраструктура инструментария должна предоставлять соответствующие объекты-утилиты, которые .equals, Filer, и так далее. Кроме того, вызов инструментария должен быть настраиваемым таким образом, чтобы с точки зрения работающих процессоров аннотаций, по крайней мере, выбранный поднабор вспомогательных классов рассматривался как загруженный одним и тем же загрузчиком классов. (Поскольку объекты-утилиты управляют общим состоянием, реализация класса-обёртки должна знать, был ли ранее обернут тот же базовый объект-утилиту.)
- Since:
- 1.6
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Elements |
getElementUtils() |
Возвращает реализацию некоторых утилит для работы с элементами. |
Filer |
getFiler() |
Возвращает фильтрователь, используемый для создания новых исходных, class или вспомогательных файлов. |
Locale |
getLocale() |
Возвращает текущий локали или null, если локали нет. |
Messager |
getMessager() |
Возвращает компонент сообщений, используемый для отчётов об ошибках, предупреждениях и других уведомлениях. |
Map<String, |
getOptions() |
Возвращает специфичные для процессора опции, переданные инструменту обработки аннотаций. |
SourceVersion |
getSourceVersion() |
|
Types |
getTypeUtils() |
Возвращает реализацию некоторых утилит для работы с типами. |
default boolean |
isPreviewEnabled() |
Возвращает true, если предварительные функции включены, и false, в противном случае. |
Подробное описание методов
getOptions
Map<String,String> getOptions()
null. См. документацию используемой инфраструктуры инструментария для получения подробной информации о том, как передавать специфичные для процессора опции. Например, реализация командной строки может отличать специфичные для процессора опции, добавляя к ним известную строку, такую как "-A"; другие реализации инструментария могут использовать другие соглашения или альтернативные механизмы. Также конкретная реализация может предоставить способы нахождения опций, переданных инструменту, помимо специфичных для процессора.
- Returns:
- специфичные для процессора опции, переданные инструменту обработки аннотаций
getMessager
Messager getMessager()
- Returns:
- компонент сообщений, используемый для отчётов об ошибках, предупреждениях и других уведомлениях
getFiler
Filer getFiler()
- Returns:
- фильтрователь, используемый для создания новых исходных, class или вспомогательных файлов
getElementUtils
Elements getElementUtils()
- Returns:
- реализация некоторых утилит для работы с элементами
getTypeUtils
Types getTypeUtils()
- Returns:
- реализация некоторых утилит для работы с типами
getSourceVersion
SourceVersion getSourceVersion()
- Returns:
- версия исходного кода, с которой должны соответствовать сгенерированные исходные и class файлы
- See Also:
getLocale
Locale getLocale()
null, если локали нет. Локаль может использоваться для предоставления локализованных сообщений.- Returns:
- текущая локаль или
null, если локали нет
isPreviewEnabled
default boolean isPreviewEnabled()
true, если предварительные функции включены, и false, в противном случае.- Implementation Requirements:
- Реализация по умолчанию этого метода возвращает
false. - Returns:
- включены ли предварительные функции
- Since:
- 13
© 1993, 2021, 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.
https://docs.oracle.com/en/java/javase/17/docs/api/java.compiler/javax/annotation/processing/ProcessingEnvironment.html