Класс 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) Создает контекст для продолжения операции |
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, содержащий объект и атрибуты для связывания, не равный 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, 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.