Spec-Zone.ru › OpenJDK 25

Класс DirectoryManager

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

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

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

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

Начиная с:
1.3
См. также:
  • DirObjectFactory
  • DirStateFactory

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

Поля, объявленные в классе 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)
Получает состояние объекта для привязки, используя исходный объект и его атрибуты.

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

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

Методы, объявленные в классе 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().
Начиная с:
1.3
См. также:
  • NamingManager.getURLContext(String, Hashtable)
  • DirObjectFactory
  • DirObjectFactory.getObjectInstance(Object, Name, Context, Hashtable, 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.
  • Используемые фабрики состояний должны реализовывать либо 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
См. также:
  • DirStateFactory
  • DirStateFactory.getStateToBind(Object, Name, Context, Hashtable, Attributes)
  • NamingManager.getStateToBind(Object, Name, Context, Hashtable)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

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