Spec-Zone .ru
спецификации, руководства, описания, API
|
СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT |
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
класс, которые ищут соответствующие плагины автоматически.