Класс DirectoryManager
public class DirectoryManager extends NamingManager
DirContext реализаций. Этот класс является расширением класса NamingManager. Он содержит методы для использования поставщиками сервисов для доступа к фабрикам объектов и фабрикам состояния, а также для получения контекстов продолжения для поддержки федерации.
DirectoryManager безопасен для одновременного доступа с нескольких потоков.
За исключением случаев, явно указанных в документации, Name, Attributes или параметры окружения, передаваемые в любой метод, принадлежат вызывающей стороне. Реализация не будет изменять объект или сохранять на него ссылку, хотя может сохранять ссылку на клон или копию.
- Since:
- 1.3
- См. также:
Краткое описание полей
Поля, объявленные в классе javax.naming.spi.NamingManager
CPE
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static DirContext |
getContinuationDirContext |
Создаёт контекст для продолжения операции DirContext. |
static Object |
getObjectInstance |
Создаёт экземпляр объекта для указанного объекта, атрибутов и среды. |
static DirStateFactory.Result |
getStateToBind |
Извлекает состояние объекта для связывания, если известен исходный объект и его атрибуты. |
Методы, объявленные в классе javax.naming.spi.NamingManager
getContinuationContext, getInitialContext, getObjectInstance, getStateToBind, getURLContext, hasInitialContextFactoryBuilder, setInitialContextFactoryBuilder, setObjectFactoryBuilder
Подробное описание методов
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(). - Since:
- 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, содержащий объект для связывания и атрибуты, которые необходимо прикрепить к связыванию. Объект или атрибуты могут быть 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 атрибуты, которые должны быть связаны с объектом. - Возвращает:
- Объект DirStateFactory.Result, не null, содержащий объект и атрибуты, которые необходимо связать. Если ни одна фабрика состояния не вернула ненулевое значение, результат будет содержать сам объект (
obj) с исходными атрибутами. - Исключения:
-
NamingException- Если при использовании фабрик произошла ошибка именования. Фабрика должна генерировать исключение только в том случае, если она не хочет, чтобы другие фабрики пытались создать объект. См.DirStateFactory.getStateToBind(). - Since:
- 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://download.java.net/java/early_access/jdk24/docs/api/java.naming/javax/naming/spi/DirectoryManager.html