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

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

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

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

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

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

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



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

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