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