Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации
СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT

4.2 Встраивание Плагинов в Файлах JAR

Так как плагин состоит из нескольких классов, механизм файла JAR используется, чтобы позволить им быть объединенными в единственный файл. В дополнение к файлам класса файлы JAR могут содержать дополнительные файлы, используемые, чтобы описать их содержание. В частности файл JAR может содержать a META-INF/services каталог, который используется, чтобы перечислить любых поставщиков услуг, которые содержатся в файле. Для каждого интерфейса поставщика услуг, который реализуется классом, сохраненным в файле JAR, файл, имя которого является полностью определенным именем класса интерфейса поставщика услуг, помещается в пределах services каталог. Файл должен содержать полностью определенные имена классов классов реализации, существующих в файле JAR, один на строку. Например, если файл JAR содержит названный класс поставщика услуг com.mycompany.mypackage.MyImageReaderSpi, который реализует javax.imageio.spi.ImageReaderSpi интерфейс, должен быть названный файл META-INF/services/javax.imageio.spi.ImageReaderSpi содержа строку com.mycompany.mypackage.MyImageReaderSpi.

API ввода-вывода Изображения автоматически исследует любые файлы JAR, которые находятся на пути к классу, и идентифицируют тех, которые содержат плагины ввода-вывода Изображения. Для каждого найденного плагина единственный экземпляр его класса поставщика услуг инстанцируют и сохранен в классе реестра времени выполнения, javax.iamgeio.spi.IIORegistry.

Файлы JAR на пути класса приложений (то есть, набор пути, используя CLASSPATH переменная), или в другом месте (например, доступный через сетевой URL) может быть загружен приложением. Они не загружаются по умолчанию, чтобы минимизировать время запуска.

javax.imageio.spi.IIORegistry класс может также использоваться во время выполнения, чтобы вычеркнуть из списка установленные плагины и зарегистрировать новые. В частности возможно использовать a ClassLoader загрузить плагин по сети, которая может тогда быть зарегистрирована и использоваться точно как локально установленный плагин.

Большинство приложений не должно должно быть иметь дело непосредственно с реестром. Вместо этого они могут использовать методы удобства, содержавшие в пределах javax.imageio.ImageIO класс, которые ищут соответствующие плагины автоматически.



СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT

Oracle и/или его филиалы Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами