Spec-Zone.ru › OpenJDK 8

Пакет javax.tools

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

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

Интерфейс Описание
Diagnostic<S>

Интерфейс для диагностики от инструментов.

DiagnosticListener<S>

Интерфейс для получения диагностики от инструментов.

DocumentationTool

Интерфейс для вызова инструментов документации языка программирования Java™ из программ.

DocumentationTool.DocumentationTask

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

FileObject

Абстракция файла для инструментов.

JavaCompiler

Интерфейс для вызова компиляторов языка программирования Java™ из программ.

JavaCompiler.CompilationTask

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

JavaFileManager

Управляющий файлами для инструментов, работающих с исходными и классными файлами языка программирования Java™.

JavaFileManager.Location

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

JavaFileObject

Абстракция файла для инструментов, работающих с исходными и классными файлами языка программирования Java™.

OptionChecker

Интерфейс для распознавания параметров.

StandardJavaFileManager

Управляющий файлами, основанный на java.io.File.

Tool

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

Класс Описание
DiagnosticCollector<S>

Предоставляет простой способ сбора диагностики в списке.

ForwardingFileObject<F extends FileObject>

Перенаправляет вызовы заданному объекту файла.

ForwardingJavaFileManager<M extends JavaFileManager>

Перенаправляет вызовы заданному управляющему файлами.

ForwardingJavaFileObject<F extends JavaFileObject>

Перенаправляет вызовы заданному объекту файла.

SimpleJavaFileObject

Предоставляет простые реализации для большинства методов в JavaFileObject.

ToolProvider

Предоставляет методы для поиска поставщиков инструментов, например, поставщиков компиляторов.

Перечисление Описание
Diagnostic.Kind

Виды диагностики, например, ошибка или предупреждение.

DocumentationTool.Location

Расположения, специфичные для DocumentationTool.

JavaFileObject.Kind

Виды JavaFileObject.

StandardLocation

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

Описание пакета javax.tools

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

Эти интерфейсы и классы являются обязательными компонентами платформы Java™ Standard Edition (Java SE), но нет требования предоставлять любые инструменты, реализующие их.

За исключением явно разрешенных случаев, все методы в этом пакете могут генерировать исключение NullPointerException, если им передается null аргумент или если им передается список или коллекция, содержащая null элементы. Аналогично, ни один метод не может вернуть null если это явно не разрешено.

В этом пакете находится фреймворк компилятора языка программирования Java. Этот фреймворк позволяет клиентам фреймворка находить и запускать компиляторы из программ. Фреймворк также предоставляет интерфейсы поставщиков сервисов (SPI) для структурированного доступа к диагностике (DiagnosticListener), а также абстракцию файлов для переопределения доступа к файлам (JavaFileManager и JavaFileObject). См. JavaCompiler для получения более подробной информации об использовании SPI.

Нет требования к наличию компилятора во время выполнения. Однако, если предоставляется компилятор по умолчанию, он может быть найден с помощью ToolProvider, например:

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

Возможно предоставить альтернативные компиляторы или инструменты через механизм поставщиков сервисов service provider mechanism.

Например, если com.vendor.VendorJavaCompiler является поставщиком инструмента JavaCompiler , то его jar-файл будет содержать файл META-INF/services/javax.tools.JavaCompiler. Этот файл будет содержать единственную строку:

com.vendor.VendorJavaCompiler

Если jar-файл находится на пути класса, VendorJavaCompiler можно найти с помощью кода, подобного этому:

JavaCompiler compiler = ServiceLoader.load(JavaCompiler.class).iterator().next();

Since:
1.6

© 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