Spec-Zone.ru › OpenJDK 24

Класс DirectoryManager

java.lang.Object
javax.naming.spi.NamingManager
javax.naming.spi.DirectoryManager
public class DirectoryManager extends NamingManager
Этот класс содержит методы для поддержки DirContext реализаций.

Этот класс является расширением класса NamingManager. Он содержит методы для использования поставщиками сервисов для доступа к фабрикам объектов и фабрикам состояния, а также для получения контекстов продолжения для поддержки федерации.

DirectoryManager безопасен для одновременного доступа с нескольких потоков.

За исключением случаев, явно указанных в документации, Name, Attributes или параметры окружения, передаваемые в любой метод, принадлежат вызывающей стороне. Реализация не будет изменять объект или сохранять на него ссылку, хотя может сохранять ссылку на клон или копию.

Since:
1.3
См. также:
  • DirObjectFactory
  • DirStateFactory

Краткое описание полей

Поля, объявленные в классе javax.naming.spi.NamingManager

CPE

Краткое описание методов

Модификатор и тип Метод Описание
static DirContext getContinuationDirContext(CannotProceedException cpe)
Создаёт контекст для продолжения операции DirContext.
static Object getObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs)
Создаёт экземпляр объекта для указанного объекта, атрибутов и среды.
static DirStateFactory.Result getStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs)
Извлекает состояние объекта для связывания, если известен исходный объект и его атрибуты.

Методы, объявленные в классе javax.naming.spi.NamingManager

getContinuationContext, getInitialContext, getObjectInstance, getStateToBind, getURLContext, hasInitialContextFactoryBuilder, setInitialContextFactoryBuilder, setObjectFactoryBuilder

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание методов

getContinuationDirContext

public static DirContext getContinuationDirContext(CannotProceedException cpe) throws NamingException
Создаёт контекст для продолжения операции DirContext. Работает аналогично NamingManager.getContinuationContext(), только возвращаемый контекст продолжения является контекстом DirContext.
Параметры:
cpe - Исключение, не null, вызвавшее это продолжение.
Возвращает:
Объект DirContext, не null, для продолжения операции.
Исключения:
NamingException - Если произошла ошибка именования.
См. также:
  • NamingManager.getContinuationContext(CannotProceedException)

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
См. также:
  • NamingManager.getURLContext(java.lang.String, java.util.Hashtable<?, ?>)
  • DirObjectFactory
  • DirObjectFactory.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>, javax.naming.directory.Attributes)

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
См. также:
  • DirStateFactory
  • DirStateFactory.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>, javax.naming.directory.Attributes)
  • NamingManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)

© 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

Spec-Zone.ru

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