Spec-Zone.ru › OpenJDK 8

Класс 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 M fileManager

Файловый менеджер, к которому делегируются все методы.

Конструкторы

Модификатор Конструктор и описание
protected ForwardingJavaFileManager(M fileManager)

Создаёт новый экземпляр ForwardingJavaFileManager.

Методы

Модификатор и тип Метод и описание
void close()

Освобождает все ресурсы, открытые этим файловым менеджером непосредственно или косвенно.

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)

Получает объект файла для вывода, представляющий указанный класс указанного типа в заданном расположении.

boolean handleOption(String current, Iterator<String> remaining)

Обрабатывает один параметр.

boolean hasLocation(JavaFileManager.Location location)

Определяет, известно ли данное расположение этому файловому менеджеру.

String inferBinaryName(JavaFileManager.Location location, JavaFileObject file)

Вычисляет двоичное имя объекта файла на основе расположения.

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)

Перечисляет все объекты файлов, соответствующие заданным критериям в данном расположении.

Методы, унаследованные от класса 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, например, будет размещать файлы .class в тех же директориях, что и исходные файлы .java, если не указана директория вывода файлов .class. Для реализации этого поведения javac может предоставить исходный файл .java как «родственный» файл при вызове этого метода.

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

getFileForInput

public FileObject getFileForInput(JavaFileManager.Location location,
                                  String packageName,
                                  String relativeName)
                           throws IOException

Описание скопировано из интерфейса: JavaFileManager

Получает объект файла для ввода, представляющий указанное «относительное имя» в указанном пакете в заданном расположении.

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

Неформально, объект файла, возвращаемый этим методом, находится в конкатенации расположения, имени пакета и относительного имени. Например, чтобы найти файл properties «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() был вызван, и данный менеджер файлов не может быть повторно открыт

getFileForOutput

public FileObject getFileForOutput(JavaFileManager.Location location,
                                   String packageName,
                                   String relativeName,
                                   FileObject sibling)
                            throws IOException

Описание скопировано из интерфейса: JavaFileManager

Получает объект файла для вывода, представляющий указанное относительное имя файла в указанном пакете в заданном расположении.

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

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

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

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

flush

public void flush()
           throws IOException

Описание скопировано из интерфейса: JavaFileManager

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

Определено в:
flush в интерфейсе Flushable
Определено в:
flush в интерфейсе JavaFileManager
Исключения:
IOException - если произошла ошибка ввода-вывода
См. также:
JavaFileManager.close()

close

public void close()
           throws IOException

Описание скопировано из интерфейса: JavaFileManager

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

Определено в:
close в интерфейсе Closeable
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе JavaFileManager
Исключения:
IOException - если произошла ошибка ввода-вывода
См. также:
JavaFileManager.flush()

© 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