Spec-Zone.ru › OpenJDK 27

Класс 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 final String CPE
Константа, содержащая имя свойства среды, в которое getContinuationContext() сохраняет значение параметра CannotProceedException.

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

Модификатор и тип Метод Описание
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
Модификатор и тип Метод Описание
static Context getContinuationContext(CannotProceedException cpe)
Создает контекст для продолжения операции с контекстом.
static Context getInitialContext(Hashtable<?,?> env)
Создает начальный контекст с использованием указанных свойств среды.
static Object getObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?,?> environment)
Создает экземпляр объекта для указанного объекта и среды.
static Object getStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment)
Получает состояние объекта для привязки.
static Context getURLContext(String scheme, Hashtable<?,?> environment)
Создает контекст для указанного идентификатора схемы URL.
static boolean hasInitialContextFactoryBuilder()
Определяет, задан ли построитель фабрики начального контекста.
static void setInitialContextFactoryBuilder(InitialContextFactoryBuilder builder)
Устанавливает builder в качестве построителя InitialContextFactory.
static void setObjectFactoryBuilder(ObjectFactoryBuilder builder)
ObjectFactoryBuilder определяет политику, используемую при попытке загрузить фабрики объектов.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения определенного промежутка реального времени.

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

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 и содержащий объект, который нужно привязать, и атрибуты, сопровождающие привязку. Объект или атрибуты могут иметь значение 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 и содержащий объект и атрибуты для привязки. Если ни одна фабрика состояний не возвращает ответ, отличный от null, результат будет содержать сам объект (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, 2026, 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.

Spec-Zone.ru

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