Класс DirectoryManager
public class DirectoryManager extends NamingManager
DirContext. Этот класс является расширением NamingManager. Он содержит методы, предназначенные для поставщиков служб, для доступа к фабрикам объектов и фабрикам состояний, а также для получения контекстов продолжения, поддерживающих федерацию.
DirectoryManager безопасен для одновременного доступа из нескольких потоков.
Если не указано иное, объект Name, Attributes или параметр среды, переданный любому методу, принадлежит вызывающему коду. Реализация не будет изменять объект или сохранять ссылку на него, хотя может сохранить ссылку на его клон или копию.
- Начиная с:
- 1.3
- См. также:
Краткое описание полей
Поля, объявленные в классе NamingManager
CPE
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static DirContext |
getContinuationDirContext |
Создает контекст для продолжения операции DirContext. |
static Object |
getObjectInstance |
Создает экземпляр объекта для указанного объекта, атрибутов и среды. |
static DirStateFactory.Result |
getStateToBind |
Получает состояние объекта для привязки, используя исходный объект и его атрибуты. |
Подробное описание методов
getContinuationDirContext
public static DirContext getContinuationDirContext(CannotProceedException cpe) throws NamingException
DirContext. Работает так же, как NamingManager.getContinuationContext(), но возвращаемый контекст продолжения является DirContext.- Параметры:
-
cpe— исключение, вызвавшее это продолжение; значение не должно быть null. - Возвращает:
- Объект
DirContextдля продолжения операции; значение не должно быть null. - Исключения:
-
NamingException— если произошло исключение именования. - См. также:
getObjectInstance
public static Object getObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs) throws Exception
Этот метод аналогичен NamingManager.getObjectInstance, за исключением следующих отличий:
- Он принимает параметр
Attributes, содержащий атрибуты, связанные с объектом.DirObjectFactoryможет использовать эти атрибуты, чтобы избежать их получения из каталога. - Используемые фабрики объектов должны реализовывать либо
ObjectFactory, либоDirObjectFactory. Если фабрика реализуетDirObjectFactory, используетсяDirObjectFactory.getObjectInstance(), в противном случае используетсяObjectFactory.getObjectInstance().
DirContext, следует использовать этот метод, а не NamingManager.getObjectInstance().- Параметры:
-
refInfo— возможно, null-объект, для которого создается объект. -
name— имя этого объекта относительноnameCtx. Указывать имя необязательно; если оно не указано,nameдолжно быть null. -
nameCtx— контекст, относительно которого задан параметрname. Если значение равно null,nameзадается относительно контекста инициализации по умолчанию. -
environment— возможно, null-среда, используемая при создании фабрики объектов и объекта. -
attrs— возможно, null-атрибуты, связанные с refInfo. Это может быть не полный набор атрибутов refInfo; возможно, дополнительные атрибуты можно прочитать из каталога. - Возвращает:
- Объект, созданный с использованием
refInfoиattrs; илиrefInfo, если фабрика не может создать объект. - Исключения:
-
NamingException— если при попытке получить контекст URL возникло исключение именования или одна из используемых фабрик выбросила NamingException. -
Exception— если одна из используемых фабрик выбросила исключение или при загрузке и создании экземпляров классов фабрики и объекта произошла ошибка. Фабрика должна выбрасывать исключение, только если она не хочет, чтобы для создания объекта использовались другие фабрики. См.DirObjectFactory.getObjectInstance(). - Начиная с:
- 1.3
- См. также:
getStateToBind
public static DirStateFactory.Result getStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs) throws NamingException
Этот метод аналогичен NamingManager.getStateToBind, за исключением следующих отличий:
- Он принимает параметр
Attributes, содержащий атрибуты, переданные методуDirContext.bind(). - Он возвращает ненулевой экземпляр
DirStateFactory.Result, содержащий объект для привязки и атрибуты, сопровождающие привязку. Объект или атрибуты могут иметь значение null. - Используемые фабрики состояний должны реализовывать либо
StateFactory, либоDirStateFactory. Если фабрика реализуетDirStateFactory, вызываетсяDirStateFactory.getStateToBind(); в противном случае вызываетсяStateFactory.getStateToBind().
DirContext, следует использовать этот метод, а не NamingManager.getStateToBind(). Описание способа определения списка используемых фабрик состояний см. в NamingManager.getStateToBind().
Объект, возвращаемый этим методом, принадлежит вызывающему коду. Реализация не будет изменять его впоследствии. Он будет содержать либо новый объект Attributes, который также принадлежит вызывающему коду, либо ссылку на исходный параметр attrs.
- Параметры:
-
obj— объект, для которого требуется получить состояние для привязки; значение не должно быть null. -
name— имя этого объекта относительноnameCtxили null, если имя не указано. -
nameCtx— контекст, относительно которого задан параметрname, или null, еслиnameзадается относительно контекста инициализации по умолчанию. -
environment— возможно, null-среда, используемая при создании фабрики состояний и состояния объекта. -
attrs— возможно, null-объект Attributes, который требуется привязать вместе с объектом. - Возвращает:
- Ненулевой DirStateFactory.Result, содержащий объект и атрибуты для привязки. Если ни одна фабрика состояний не возвращает ненулевой ответ, результат будет содержать сам объект (
obj) с исходными атрибутами. - Исключения:
-
NamingException— если при использовании фабрик возникло исключение именования. Фабрика должна выбрасывать исключение, только если она не хочет, чтобы для создания объекта использовались другие фабрики. См.DirStateFactory.getStateToBind(). - Начиная с:
- 1.3
- См. также:
© 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/DirectoryManager.html