Spec-Zone.ru › OpenJDK 25

Интерфейс 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(Object, Name, Context, Hashtable)
  • DirectoryManager.getObjectInstance(Object, Name, Context, Hashtable, Attributes)
  • ObjectFactory

Краткое описание методов

Модификатор и тип Метод Описание
Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs)
Создает объект, используя указанную информацию о местоположении или ссылке и атрибуты.

Методы, объявленные в интерфейсе 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(), один из которых отличается от другого аргументом атрибутов. Если фабрика реализует DirObjectFactory, DirectoryManager.getObjectInstance() использует только метод, принимающий аргумент атрибутов, тогда как NamingManager.getObjectInstance() использует только метод, не принимающий аргумент атрибутов.

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

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

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.naming/javax/naming/spi/DirObjectFactory.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API