Интерфейс 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
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
getObjectInstance |
Создает объект, используя информацию о местоположении или ссылке и указанные атрибуты. |
Методы, объявленные в интерфейсе 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- Если эта фабрика объектов столкнулась с исключением при попытке создать объект, и другие фабрики объектов не должны быть опробованы. - См. также:
© 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