M
- вид файлового менеджера, переданного этим объектомpublic class ForwardingJavaFileManager<M extends JavaFileManager> extends Object implements JavaFileManager
JavaFileManager. Расположение
Модификатор и Тип | Поле и Описание |
---|---|
protected M |
fileManager
Файловый менеджер, к которому делегируются все методы.
|
Модификатор | Конструктор и Описание |
---|---|
protected |
ForwardingJavaFileManager(M fileManager)
Создает новый экземпляр ForwardingJavaFileManager.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
close()
Высвобождает любые средства, открытые этим файловым менеджером прямо или косвенно.
|
void |
flush()
Сбросы любые ресурсы, открытые для вывода этим файловым менеджером прямо или косвенно.
|
ClassLoder |
getClassLoader(JavaFileManager.Location location)
Получает загрузчик class для того, чтобы он загрузил плагины из данного расположения.
|
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)
Получает объект файла для ввода, представляющего указанный class указанного вида в данном расположении.
|
JavaFileObject |
getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling)
Получает объект файла для вывода, представляющего указанный class указанного вида в данном расположении.
|
boolean |
handleOption(String current, Iterator<String> remaining)
Дескрипторы одна опция.
|
boolean |
hasLocation(JavaFileManager.Location location)
Определяет, известно ли расположение этому файловому менеджеру.
|
Строка |
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)
Списки все объекты файла, соответствующие данные критерии в данном расположении.
|
protected final M extends JavaFileManager fileManager
protected ForwardingJavaFileManager(M fileManager)
fileManager
- делегируйте к этому файловому менеджеруpublic ClassLoader getClassLoader(JavaFileManager.Location location)
JavaFileManager
ANNOTATION_PROCESSOR_PATH
расположение.getClassLoader
в интерфейсе JavaFileManager
location
- расположениеnull
если загрузка плагинов от данного расположения отключается или если расположение не известноSecurityException
- если загрузчик class не может быть создан в текущем контексте защитыIllegalStateException
- если JavaFileManager.close()
был вызван и этот файловый менеджер не может быть вновь открытpublic Iterable<JavaFileObject> list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse) throws IOException
JavaFileManager
Отметьте: даже если данное расположение неизвестно этому файловому менеджеру, оно, возможно, не возвращается null
. Кроме того, неизвестное расположение, возможно, не вызывает исключение.
list
в интерфейсе JavaFileManager
location
- расположениеpackageName
- имя пакетаkinds
- возвратите объекты только этих видовrecurse
- если истина включает "подпакеты"IOException
- если ошибка ввода-вывода произошла, или если JavaFileManager.close()
был вызван и этот файловый менеджер не может быть вновь открытIllegalStateException
- если JavaFileManager.close()
был вызван и этот файловый менеджер не может быть вновь открытpublic String inferBinaryName(JavaFileManager.Location location, JavaFileObject file)
JavaFileManager
inferBinaryName
в интерфейсе JavaFileManager
location
- расположениеfile
- объект файлаnull
объект файла не находится в данном расположенииIllegalStateException
- если JavaFileManager.close()
был вызван и этот файловый менеджер не может быть вновь открытpublic boolean isSameFile(FileObject a, FileObject b)
JavaFileManager
isSameFile
в интерфейсе JavaFileManager
a
- объект файлаb
- объект файлаIllegalArgumentException
- если любой из параметров создавался с другим файловым менеджером, и этот файловый менеджер не поддерживает внешние объекты файлаpublic boolean handleOption(String current, Iterator<String> remaining)
JavaFileManager
current
опция к этому файловому менеджеру, от которого она использует любые параметры той опции remaining
и возвратите true, иначе возвратите false.handleOption
в интерфейсе JavaFileManager
current
- текущая опцияremaining
- оставление опциямиIllegalArgumentException
- если эта опция к этому файловому менеджеру используется неправильноIllegalStateException
- если JavaFileManager.close()
был вызван и этот файловый менеджер не может быть вновь открытpublic boolean hasLocation(JavaFileManager.Location location)
JavaFileManager
hasLocation
в интерфейсе JavaFileManager
location
- расположениеpublic int isSupportedOption(String option)
OptionChecker
isSupportedOption
в интерфейсе OptionChecker
option
- опцияpublic JavaFileObject getJavaFileForInput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind) throws IOException
JavaFileManager
getJavaFileForInput
в интерфейсе JavaFileManager
location
- расположениеclassName
- имя classkind
- вид файла, должен быть один из SOURCE
или CLASS
null
если файл не существуетIllegalArgumentException
- если расположение не известно этому файловому менеджеру, и файловый менеджер не поддерживает неизвестные расположения, или если вид не допустимIllegalStateException
- если JavaFileManager.close()
был вызван и этот файловый менеджер не может быть вновь открытIOException
- если ошибка ввода-вывода произошла, или если JavaFileManager.close()
был вызван и этот файловый менеджер не может быть вновь открытpublic JavaFileObject getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling) throws IOException
JavaFileManager
Дополнительно, этот файловый менеджер мог бы рассмотреть одноуровневый элемент как подсказку для того, куда поместить вывод. Точная семантика этой подсказки является неуказанной. Компилятор JDK, javac, например, поместит файлы class в те же самые каталоги как порождающий исходные файлы, если выходной каталог файла class не будет обеспечен. Чтобы облегчить это поведение, javac мог бы обеспечить инициирующий исходный файл как одноуровневый элемент, вызывая этот метод.
getJavaFileForOutput
в интерфейсе JavaFileManager
location
- расположениеclassName
- имя classkind
- вид файла, должен быть один из SOURCE
или CLASS
sibling
- объект файла, который будет использоваться в качестве подсказки для размещения; мог бы быть null
IllegalArgumentException
- если одноуровневый элемент не известен этому файловому менеджеру, или если расположение не известно этому файловому менеджеру, и файловый менеджер не поддерживает неизвестные расположения, или если вид не допустимIllegalStateException
- JavaFileManager.close()
вызвали, и этот файловый менеджер не может быть вновь открытIOException
- если ошибка ввода-вывода произошла, или если JavaFileManager.close()
был вызван и этот файловый менеджер не может быть вновь открытpublic FileObject getFileForInput(JavaFileManager.Location location, String packageName, String relativeName) throws IOException
JavaFileManager
Если возвращенный объект представляет источник или файл class, это должен быть экземпляр 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, например, поместит файлы class в те же самые каталоги как порождающий исходные файлы, если выходной каталог файла class не будет обеспечен. Чтобы облегчить это поведение, javac мог бы обеспечить инициирующий исходный файл как одноуровневый элемент, вызывая этот метод.
Если возвращенный объект представляет источник или файл class, это должен быть экземпляр 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
в интерфейсе Closeable
close
в интерфейсе AutoCloseable
close
в интерфейсе JavaFileManager
IOException
- если ошибка ввода-вывода произошлаJavaFileManager.flush()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92