Класс DirectoryManager
- java.lang.Object
-
- javax.naming.spi.NamingManager
-
- javax.naming.spi.DirectoryManager
public class DirectoryManager extends NamingManager
Этот класс содержит методы для поддержки реализаций DirContext.
Этот класс является расширением NamingManager. Он содержит методы, используемые поставщиками сервисов для доступа к фабрикам объектов и фабрикам состояний, а также для получения контекстов продолжения для поддержки федерации.
DirectoryManager безопасен для одновременного доступа нескольких потоков.
За исключением случаев, явно указанных в документации, объект, параметр среды или параметр, переданные любому методу, принадлежит вызывающей стороне. Реализация не будет изменять объект или сохранять на него ссылку, хотя может сохранять ссылку на клон или копию.
- Since:
- 1.3
- См. также:
-
DirObjectFactory,DirStateFactory
Поля
Поля, объявленные в классе javax.naming.spi.NamingManager
CPE
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
static DirContext |
getContinuationDirContext(CannotProceedException cpe) |
Создаёт контекст для продолжения операции |
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