Класс DirectoryManager

public class DirectoryManager
extends NamingManager

Этот класс содержит методы для поддержки реализаций DirContext.

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

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

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

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.
  • Использованные фабрики состояний должны реализовывать либо 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, содержащий объект и атрибуты для связывания. Если ни одна фабрика состояний не вернула ненулевое значение, результат будет содержать сам объект (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, 2020, 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/11/docs/api/java.naming/javax/naming/spi/DirectoryManager.html

Spec-Zone .ru
спецификации, руководства, описания, API