Spec-Zone.ru › OpenJDK 8

Класс 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)

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

Spec-Zone.ru

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