Spec-Zone.ru › OpenJDK 17

Класс ForwardingJavaFileManager<M extends JavaFileManager>

java.lang.Object
javax.tools.ForwardingJavaFileManager<M>
Параметры типа:
M - тип файлового менеджера, перенаправляемого этим объектом
Все реализованные интерфейсы:
Closeable, Flushable, AutoCloseable, JavaFileManager, OptionChecker
public class ForwardingJavaFileManager<M extends JavaFileManager> extends Object implements JavaFileManager
Перенаправляет вызовы заданному файловому менеджеру. Подклассы этого класса могут переопределять некоторые из этих методов, а также предоставлять дополнительные поля и методы.
С тех пор:
1.6

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в интерфейсе javax.tools.JavaFileManager

JavaFileManager.Location

Краткое описание полей

Модификатор и тип Поле Описание
protected final M fileManager
Файловый менеджер, к которому делегируются все методы.

Краткое описание конструкторов

ForwardingJavaFileManager(M fileManager)
Модификатор Конструктор Описание
protected
Создаёт новый экземпляр ForwardingJavaFileManager.

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Освобождает все ресурсы, открытые этим файловым менеджером напрямую или косвенно.
boolean contains(JavaFileManager.Location location, FileObject fo)
Определяет, содержится ли данный объект файла в указанном расположении.
void flush()
Очищает все ресурсы, открытые для вывода этим файловым менеджером напрямую или косвенно.
ClassLoader getClassLoader(JavaFileManager.Location location)
Возвращает загрузчик классов для загрузки плагинов из указанного расположения в стиле пакетов.
FileObject getFileForInput(JavaFileManager.Location location, String packageName, String relativeName)
Возвращает объект файла для ввода, представляющий указанное относительное имя в указанном пакете в заданном расположении в стиле пакетов.
FileObject getFileForOutput(JavaFileManager.Location location, String packageName, String relativeName, FileObject sibling)
Возвращает объект файла для вывода, представляющий указанное относительное имя в указанном пакете в заданном расположении.
JavaFileObject getJavaFileForInput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind)
Возвращает объект файла для ввода, представляющий указанный класс заданного типа в заданном расположении в стиле пакетов.
JavaFileObject getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling)
Возвращает объект файла для вывода, представляющий указанный класс заданного типа в заданном расположении в стиле пакетов.
JavaFileManager.Location getLocationForModule(JavaFileManager.Location location, String moduleName)
Получает расположение для именованного модуля в пределах расположения, которое может быть либо модульным расположением, либо расположением для вывода.
JavaFileManager.Location getLocationForModule(JavaFileManager.Location location, JavaFileObject fo)
Получает расположение для модуля, содержащего конкретный файл, который нужно найти в пределах расположения, которое может быть либо модульным расположением, либо расположением для вывода.
<S> ServiceLoader<S> getServiceLoader(JavaFileManager.Location location, Class<S> service)
Получает загрузчик сервисов для конкретного класса сервиса из заданного расположения.
boolean handleOption(String current, Iterator<String> remaining)
Обрабатывает один параметр.
boolean hasLocation(JavaFileManager.Location location)
Определяет, известно ли данное расположение этому файловому менеджеру.
String inferBinaryName(JavaFileManager.Location location, JavaFileObject file)
Выводит двоичное имя объекта файла на основе расположения в стиле пакетов.
String inferModuleName(JavaFileManager.Location location)
Выводит имя модуля из его расположения, возвращаемого getLocationForModule или listModuleLocations.
boolean isSameFile(FileObject a, FileObject b)
Сравнивает два объекта файла и возвращает true, если они представляют один и тот же базовый объект.
int isSupportedOption(String option)
Определяет, поддерживается ли данный параметр, и если да, то количество аргументов, которые он принимает.
Iterable<JavaFileObject> list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)
Перечисляет все объекты файла, соответствующие заданным критериям, в данном расположении в стиле пакетов.
Iterable<Set<JavaFileManager.Location>> listLocationsForModules(JavaFileManager.Location location)
Перечисляет расположения для всех модулей в модульном расположении или расположении для вывода.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

fileManager

protected final M extends JavaFileManager fileManager
Менеджер файлов, к которому делегируются все методы.

Подробное описание конструкторов

ForwardingJavaFileManager

protected ForwardingJavaFileManager(M fileManager)
Создаёт новый экземпляр ForwardingJavaFileManager.
Параметры:
fileManager - делегат для данного менеджера файлов

Подробное описание методов

getClassLoader

public ClassLoader getClassLoader(JavaFileManager.Location location)
Описание скопировано из интерфейса: JavaFileManager
Возвращает загрузчик классов для загрузки плагинов из заданной пакетно-ориентированной директории. Например, для загрузки процессоров аннотаций компилятор запросит загрузчик классов для директории ANNOTATION_PROCESSOR_PATH.
Определено в:
getClassLoader в интерфейсе JavaFileManager
Параметры:
location - директория
Возвращает:
загрузчик классов для заданной директории; или null, если загрузка плагинов из заданной директории отключена или директория неизвестна
Исключения:
SecurityException - если загрузчик классов не может быть создан в текущем контексте безопасности
IllegalStateException - если JavaFileManager.close() был вызван, и данный менеджер файлов не может быть повторно открыт

list

public Iterable<JavaFileObject> list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse) throws IOException
Описание скопировано из интерфейса: JavaFileManager
Выводит все объекты файлов, соответствующие заданным критериям, в заданной пакетно-ориентированной директории. Выводит объекты файлов в «подпапках», если recurse равно true.

Примечание: даже если заданная директория неизвестна данному менеджеру файлов, он может не вернуть null. Также неизвестная директория может не вызвать исключение.

Определено в:
list в интерфейсе JavaFileManager
Параметры:
location - директория
packageName - имя пакета
kinds - возвращать объекты только указанных типов
recurse - если true, включать «подпапки»
Возвращает:
итерируемый набор объектов файлов, соответствующих заданным критериям
Исключения:
IOException - если произошла ошибка ввода/вывода, или если JavaFileManager.close() был вызван, и данный менеджер файлов не может быть повторно открыт
IllegalStateException - если JavaFileManager.close() был вызван, и данный менеджер файлов не может быть повторно открыт

inferBinaryName

public String inferBinaryName(JavaFileManager.Location location, JavaFileObject file)
Описание скопировано из интерфейса: JavaFileManager
Определяет бинарное имя объекта файла на основе пакетно-ориентированной директории. Возвращаемое бинарное имя может не быть валидным бинарным именем согласно Спецификации языка Java.
Определено в:
inferBinaryName в интерфейсе JavaFileManager
Параметры:
location - директория
file - объект файла
Возвращает:
бинарное имя или null, если объект файла не найден в заданной директории
Исключения:
IllegalStateException - если JavaFileManager.close() был вызван, и данный менеджер файлов не может быть повторно открыт

isSameFile

public boolean isSameFile(FileObject a, FileObject b)
Описание скопировано из интерфейса: JavaFileManager
Сравнивает два объекта файла и возвращает true, если они представляют один и тот же базовый объект.
Определено в:
isSameFile в интерфейсе JavaFileManager
Параметры:
a - объект файла
b - объект файла
Возвращает:
true, если заданные объекты файла представляют один и тот же базовый объект
Исключения:
IllegalArgumentException - если любой из аргументов был создан с помощью другого менеджера файлов, и данный менеджер файлов не поддерживает внешние объекты файлов

handleOption

public boolean handleOption(String current, Iterator<String> remaining)
Описание скопировано из интерфейса: JavaFileManager
Обрабатывает один параметр. Если current является параметром для данного менеджера файлов, он использует все аргументы к этому параметру из remaining и возвращает true, иначе возвращает false.
Определено в:
handleOption в интерфейсе JavaFileManager
Параметры:
current - текущий параметр
remaining - оставшиеся параметры
Возвращает:
true, если этот параметр был обработан данным менеджером файлов, иначе false
Исключения:
IllegalArgumentException - если этот параметр для данного менеджера файлов используется неправильно
IllegalStateException - если JavaFileManager.close() был вызван, и данный менеджер файлов не может быть повторно открыт

hasLocation

public boolean hasLocation(JavaFileManager.Location location)
Описание скопировано из интерфейса: JavaFileManager
Определяет, известна ли директория данному менеджеру файлов.
Определено в:
hasLocation в интерфейсе JavaFileManager
Параметры:
location - директория
Возвращает:
true, если директория известна

isSupportedOption

public int isSupportedOption(String option)
Описание скопировано из интерфейса: OptionChecker
Определяет, поддерживается ли данный параметр, и если да, то количество аргументов, которые он принимает.
Определено в:
isSupportedOption в интерфейсе OptionChecker
Параметры:
option - параметр
Возвращает:
количество аргументов, которые принимает данный параметр, или -1, если параметр не поддерживается

getJavaFileForInput

public JavaFileObject getJavaFileForInput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind) throws IOException
Описание скопировано из интерфейса: JavaFileManager
Возвращает объект файла для ввода, представляющий указанный класс указанного типа в заданной пакетно-ориентированной директории.
Определено в:
getJavaFileForInput в интерфейсе JavaFileManager
Параметры:
location - директория
className - имя класса
kind - тип файла, должен быть одним из SOURCE или CLASS
Возвращает:
объект файла, может вернуть null, если файл не существует
Исключения:
IllegalArgumentException - если директория неизвестна данному менеджеру файлов и менеджер файлов не поддерживает неизвестные директории, или если тип недействителен, или если директория является модульно-ориентированной
IllegalStateException - если JavaFileManager.close() был вызван, и данный менеджер файлов не может быть повторно открыт
IOException - если произошла ошибка ввода/вывода, или если JavaFileManager.close() был вызван, и данный менеджер файлов не может быть повторно открыт

getJavaFileForOutput

public JavaFileObject getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling) throws IOException
Описание скопировано из интерфейса: JavaFileManager
Возвращает объект файла для вывода, представляющий указанный класс указанного типа в заданной пакетно-ориентированной директории.

По желанию, данный менеджер файлов может использовать файл-аналог как подсказку для размещения вывода. Точные семантики этой подсказки не определены. Компилятор JDK, javac, например, разместит файлы классов в тех же каталогах, что и исходные файлы, если не указан каталог вывода файлов классов. Для обеспечения такого поведения javac может предоставить исходный файл как файл-аналог при вызове данного метода.

Определено в:
getJavaFileForOutput в интерфейсе JavaFileManager
Параметры:
location - пакетно-ориентированная директория
className - имя класса
kind - тип файла, должен быть одним из SOURCE или CLASS
sibling - объект файла, используемый как подсказка для размещения; может быть null
Возвращает:
объект файла для вывода
Исключения:
IllegalArgumentException - если файл-аналог неизвестен данному менеджеру файлов, или если директория неизвестна данному менеджеру файлов и менеджер файлов не поддерживает неизвестные директории, или если тип недействителен, или если директория не является директорией вывода
IllegalStateException - JavaFileManager.close() был вызван, и данный менеджер файлов не может быть повторно открыт
IOException - если произошла ошибка ввода/вывода, или если JavaFileManager.close() был вызван, и данный менеджер файлов не может быть повторно открыт

ПолучитьФайлДляВвода

public FileObject getFileForInput(JavaFileManager.Location location, String packageName, String relativeName) throws IOException
Описание скопировано из интерфейса: JavaFileManager
Возвращает объект файла для ввода, представляющий указанное относительное имя в указанном пакете в заданном местоположении, ориентированном на пакеты.

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

Неформально, объект файла, возвращаемый этим методом, расположен в результате конкатенации местоположения, имени пакета и относительного имени. Например, чтобы найти файл свойств "resources/compiler.properties" в пакете "com.sun.tools.javac" в местоположении SOURCE_PATH, этот метод можно вызвать следующим образом:

getFileForInput(SOURCE_PATH, "com.sun.tools.javac", "resources/compiler.properties");

Если вызов был выполнен в Windows, с SOURCE_PATH, установленным в "C:\Documents and Settings\UncleBob\src\share\classes", допустимым результатом будет объект файла, представляющий файл "C:\Documents and Settings\UncleBob\src\share\classes\com\sun\tools\javac\resources\compiler.properties".

Указано в:
getFileForInput в интерфейсе JavaFileManager
Параметры:
location - местоположение, ориентированное на пакет
packageName - имя пакета
relativeName - относительное имя
Возвращает:
объект файла, может вернуть null если файл не существует
Изначает исключения:
IllegalArgumentException - если местоположение неизвестно этому менеджеру файлов, и менеджер файлов не поддерживает неизвестные местоположения, или если relativeName недействительно, или если местоположение является местоположением модуля
IllegalStateException - если метод JavaFileManager.close() был вызван, и этот менеджер файлов не может быть повторно открыт
IOException - если произошла ошибка ввода-вывода, или если метод JavaFileManager.close() был вызван, и этот менеджер файлов не может быть повторно открыт

ПолучитьФайлДляВывода

public FileObject getFileForOutput(JavaFileManager.Location location, String packageName, String relativeName, FileObject sibling) throws IOException
Описание скопировано из интерфейса: JavaFileManager
Возвращает объект файла для вывода, представляющий указанное относительное имя в указанном пакете в заданном местоположении.

Необязательно, этот менеджер файлов может рассматривать брата/сестру как подсказку о том, куда следует разместить вывод. Точные семантики этой подсказки не определены. Компилятор JDK, javac, например, будет помещать файлы класса в те же каталоги, что и исходные файлы, если не указан каталог вывода для файлов класса. Для облегчения этого поведения javac может предоставить исходный файл как брата/сестру при вызове этого метода.

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

Неформально, объект файла, возвращаемый этим методом, расположен в результате конкатенации местоположения, имени пакета и относительного имени или рядом с аргументом брата/сестры. См. getFileForInput для примера.

Указано в:
getFileForOutput в интерфейсе JavaFileManager
Параметры:
location - местоположение вывода
packageName - имя пакета
relativeName - относительное имя
sibling - объект файла, используемый в качестве подсказки для размещения; может быть null
Возвращает:
объект файла
Изначает исключения:
IllegalArgumentException - если брат/сестра не известен этому менеджеру файлов, или если местоположение неизвестно этому менеджеру файлов, и менеджер файлов не поддерживает неизвестные местоположения, или если relativeName недействительно, или если местоположение не является местоположением вывода
IllegalStateException - если метод JavaFileManager.close() был вызван, и этот менеджер файлов не может быть повторно открыт
IOException - если произошла ошибка ввода-вывода, или если метод JavaFileManager.close() был вызван, и этот менеджер файлов не может быть повторно открыт

сброс

public void flush() throws IOException
Описание скопировано из интерфейса: JavaFileManager
Очищает все ресурсы, открытые для вывода этим менеджером файлов непосредственно или косвенно. Очистка закрытого менеджера файлов не оказывает никакого эффекта.
Указано в:
flush в интерфейсе Flushable
Указано в:
flush в интерфейсе JavaFileManager
Изначает исключения:
IOException - если произошла ошибка ввода-вывода
См. также:
  • JavaFileManager.close()

закрыть

public void close() throws IOException
Описание скопировано из интерфейса: JavaFileManager
Освобождает все ресурсы, открытые этим менеджером файлов непосредственно или косвенно. Это может сделать этот менеджер файлов бесполезным, и эффект последующих вызовов методов этого объекта или любых объектов, полученных через этот объект, не определен, если явно не разрешен. Однако закрытие менеджера файлов, который уже был закрыт, не оказывает никакого эффекта.
Указано в:
close в интерфейсе AutoCloseable
Указано в:
close в интерфейсе Closeable
Указано в:
close в интерфейсе JavaFileManager
Изначает исключения:
IOException - если произошла ошибка ввода-вывода
См. также:
  • JavaFileManager.flush()

ПолучитьМестоположениеДляМодуля

public JavaFileManager.Location getLocationForModule(JavaFileManager.Location location, String moduleName) throws IOException
Описание скопировано из интерфейса: JavaFileManager
Получает местоположение для модуля с заданным именем внутри местоположения, которое может быть либо местоположением модуля, либо местоположением вывода. Результат будет местоположением вывода, если заданное местоположение является местоположением вывода, или это будет местоположение, ориентированное на пакет.
Указано в:
getLocationForModule в интерфейсе JavaFileManager
Параметры:
location - местоположение, ориентированное на модуль
moduleName - имя модуля, который нужно найти
Возвращает:
местоположение для заданного модуля
Изначает исключения:
IOException - если произошла ошибка ввода-вывода
С:
9

ПолучитьМестоположениеДляМодуля

public JavaFileManager.Location getLocationForModule(JavaFileManager.Location location, JavaFileObject fo) throws IOException
Описание скопировано из интерфейса: JavaFileManager
Получает местоположение для модуля, содержащего определенный файл, который нужно найти внутри местоположения, которое может быть либо местоположением модуля, либо местоположением вывода. Результат будет местоположением вывода, если заданное местоположение является местоположением вывода, или это будет местоположение, ориентированное на пакет.
Указано в:
getLocationForModule в интерфейсе JavaFileManager
Параметры:
location - местоположение, ориентированное на модуль
fo - файл
Возвращает:
модуль, содержащий файл
Изначает исключения:
IOException - если произошла ошибка ввода-вывода
С:
9

ЗагрузчикСервисов

public <S> ServiceLoader<S> getServiceLoader(JavaFileManager.Location location, Class<S> service) throws IOException
Описание скопировано из интерфейса: JavaFileManager
Получает загрузчик сервисов для определенного сервисного класса из заданного местоположения. Если местоположение является местоположением модуля, загрузчик сервисов будет использовать объявления сервисов в модулях, найденных в этом местоположении. В противном случае загрузчик сервисов создается с использованием местоположения, ориентированного на пакет, в этом случае сервисы определяются с помощью файлов конфигурации поставщика в META-INF/services.
Указано в:
getServiceLoader в интерфейсе JavaFileManager
Параметры типа:
S - сервисный класс
Параметры:
location - местоположение, ориентированное на модуль
service - объект Class сервисного класса
Возвращает:
загрузчик сервисов для данного сервисного класса
Изначает исключения:
IOException - если произошла ошибка ввода-вывода
С:
9

вывестиИмяМодуля

public String inferModuleName(JavaFileManager.Location location) throws IOException
Описание скопировано из интерфейса: JavaFileManager
Определяет имя модуля по его местоположению, возвращаемому методами getLocationForModule или listModuleLocations.
Указано в:
inferModuleName в интерфейсе JavaFileManager
Параметры:
location - местоположение, ориентированное на пакет, представляющее модуль
Возвращает:
имя модуля
Изначает исключения:
IOException - если произошла ошибка ввода-вывода
С:
9

listLocationsForModules

public Iterable<Set<JavaFileManager.Location>> listLocationsForModules(JavaFileManager.Location location) throws IOException
Описание, скопированное из интерфейса: JavaFileManager
Перечисляет расположения всех модулей в модульно-ориентированном расположении или расположении вывода. Возвращаемые расположения будут расположениями вывода, если заданное расположение является расположением вывода, или это будут расположения, ориентированные на пакеты.
Определено в:
listLocationsForModules в интерфейсе JavaFileManager
Параметры:
location - модульно-ориентированное расположение, для которого необходимо перечислить модули
Возвращает:
ряд наборов расположений, содержащих модули
Исключение:
IOException - если произошла ошибка ввода-вывода
С:
9

contains

public boolean contains(JavaFileManager.Location location, FileObject fo) throws IOException
Описание, скопированное из интерфейса: JavaFileManager
Определяет, содержится ли заданный объект файла в указанном расположении.

Для расположения, ориентированного на пакет, объект файла содержится в расположении, если существуют значения для packageName и relativeName, такие что любой из следующих вызовов вернёт объект файла same:

     getFileForInput(location, packageName, relativeName)
     getFileForOutput(location, packageName, relativeName, null)
 

Для модульно-ориентированного расположения объект файла содержится в расположении, если существует модуль, который может быть получен вызовом:

     getLocationForModule(location, moduleName)
 
таким образом, что объект файла содержится в (ориентированном на пакет) расположении для этого модуля.
Определено в:
contains в интерфейсе JavaFileManager
Параметры:
location - расположение
fo - объект файла
Возвращает:
содержится ли файл в расположении
Исключение:
IOException - если возникла проблема с определением результата
С:
9

© 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/tools/ForwardingJavaFileManager.html

Spec-Zone.ru

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