Spec-Zone.ru › OpenJDK 24

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

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.naming/javax/naming/spi/DirObjectFactory.html

Spec-Zone.ru

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