Spec-Zone.ru › OpenJDK 27

Интерфейс 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
Модификатор и тип Метод Описание
Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment)
Создает объект, используя указанные сведения о местоположении или ссылке.

Подробное описание методов

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

Spec-Zone.ru

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