Spec-Zone.ru › OpenJDK 8

Интерфейс DirObjectFactory

Все суперинтерфейсы:
ObjectFactory

public interface DirObjectFactory
extends ObjectFactory

Этот интерфейс представляет фабрику для создания объекта на основе объекта и атрибутов этого объекта.

В рамках фреймворка JNDI реализации объектов могут загружаться динамически через объектные фабрики. Подробнее см. ObjectFactory.

Класс DirObjectFactory расширяет ObjectFactory, позволяя передавать экземпляр Attributes в метод getObjectInstance(). Реализации DirObjectFactory предназначены для использования поставщиками сервисов DirContext. Поставщик сервисов, помимо чтения объекта из каталога, может уже иметь атрибуты, полезные для проверки объектной фабрикой, должна ли эта фабрика обработать объект. Например, поставщик сервиса в стиле LDAP может прочитать «objectclass» объекта. Объектная фабрика CORBA может интересоваться только записями LDAP с «objectclass=corbaObject». Используя атрибуты, предоставленные поставщиком сервиса LDAP, фабрика объектов CORBA может быстро исключить объекты, которые её не интересуют, а фабрики объектов, не являющиеся CORBA, могут быстро исключить записи LDAP, относящиеся к CORBA.

С:
1.3
См. также:
NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>), DirectoryManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>, javax.naming.directory.Attributes), ObjectFactory

Методы

Модификатор и тип Метод и описание
Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs)

Создаёт объект, используя информацию о расположении или ссылке, и указанные атрибуты.

Методы, унаследованные от интерфейса javax.naming.spi.ObjectFactory

getObjectInstance

Методы

getObjectInstance

Object getObjectInstance(Object obj,
                         Name name,
                         Context nameCtx,
                         Hashtable<?,?> environment,
                         Attributes attrs)
                  throws Exception

Создаёт объект, используя информацию о расположении или ссылке, и указанные атрибуты.

Специальные требования к этому объекту предоставляются с помощью environment. Примером такой свойства среды является информация об идентификации пользователя.

DirectoryManager.getObjectInstance() последовательно загружает объектные фабрики. Если он встречает DirObjectFactory, он вызовет DirObjectFactory.getObjectInstance(); в противном случае, он вызовет ObjectFactory.getObjectInstance(). Он делает это до тех пор, пока фабрика не вернёт непустой ответ.

Если исключение выбрасывается объектной фабрикой, исключение передаётся вызывающему методу DirectoryManager.getObjectInstance(). Поиск других фабрик, которые могут вернуть непустой ответ, прекращается. Объектная фабрика должна выбрасывать исключение только в том случае, если она уверена, что является единственной целевой фабрикой и что другие объектные фабрики не должны быть опробованы. Если эта фабрика не может создать объект, используя предоставленные аргументы, она должна вернуть null.

Поскольку DirObjectFactory расширяет ObjectFactory, у него эффективно есть два метода getObjectInstance(), где один отличается от другого аргументом attributes. Учитывая фабрику, реализующую DirObjectFactory, метод DirectoryManager.getObjectInstance() будет использовать только метод, принимающий аргумент attributes, а метод NamingManager.getObjectInstance() будет использовать только тот, который не принимает аргумент attributes.

См. ObjectFactory для описания URL-контекстных фабрик и других свойств объектных фабрик, которые одинаково применяются к DirObjectFactory.

Параметры name, attrs, и environment принадлежат вызывающей стороне. Реализация не будет изменять эти объекты или сохранять ссылки на них, хотя она может сохранять ссылки на клоны или копии.

Параметры:
obj - Возможно нулевой объект, содержащий информацию о расположении или ссылке, которая может использоваться для создания объекта.
name - Имя этого объекта относительно nameCtx, или null, если имя не указано.
nameCtx - Контекст, относительно которого указан параметр name, или null, если name относится к контексту по умолчанию.
environment - Возможно нулевая среда, используемая при создании объекта.
attrs - Возможно нулевой набор атрибутов, содержащий некоторые атрибуты объекта obj. attrs может не содержать все атрибуты obj. Если объектной фабрике нужны дополнительные атрибуты, ей нужно получить их, используя obj, или name и nameCtx. Фабрика не должна изменять attrs.
Возвращает:
Созданный объект; null, если объект не может быть создан.
Выбрасывает:
Exception - Если эта объектная фабрика столкнулась с исключением при попытке создать объект, и другие объектные фабрики не должны быть опробованы.
См. также:
DirectoryManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>, javax.naming.directory.Attributes), NamingManager.getURLContext(java.lang.String, java.util.Hashtable<?, ?>)

© 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