Интерфейс 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

Методы

Модификатор и типМетодОписание
ObjectgetObjectInstance​(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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.naming/javax/naming/spi/DirObjectFactory.html

Spec-Zone .ru
спецификации, руководства, описания, API