Spec-Zone.ru › OpenJDK 8

Класс ControlFactory

  • java.lang.Object
    • javax.naming.ldap.ControlFactory

public abstract class ControlFactory
extends Object

Этот абстрактный класс представляет собой фабрику для создания элементов управления LDAPv3. Элементы управления LDAPv3 определены в RFC 2251.

Когда поставщик услуг получает элемент управления ответом, он использует фабрики элементов управления для возврата конкретной/соответствующей реализации класса элемента управления.

Since:
1.3
См. также:
Control

Конструкторы

Модификатор Конструктор и описание
protected ControlFactory()

Создает новый экземпляр фабрики элементов управления.

Методы

Модификатор и тип Метод и описание
abstract Control getControlInstance(Control ctl)

Создает элемент управления с помощью этой фабрики элементов управления.

static Control getControlInstance(Control ctl, Context ctx, Hashtable<?,?> env)

Создаёт элемент управления, используя известные фабрики элементов управления.

Наследованные методы из класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

ControlFactory

protected ControlFactory()

Создает новый экземпляр фабрики элементов управления.

Методы

getControlInstance

public abstract Control getControlInstance(Control ctl)
                                    throws NamingException

Создает элемент управления с помощью этой фабрики элементов управления.

Фабрика используется поставщиком услуг для возврата элементов управления, которые он считывает из протокола LDAP, как специализированных классов элементов управления. Без этого механизма поставщик возвращал бы элементы управления, содержащие данные только в кодировке BER.

Обычно ctl представляет собой "базовый" элемент управления, содержащий данные в кодировке BER. Фабрика используется для создания специализированной реализации элемента управления, обычно путем декодирования данных BER, которая предоставляет методы для доступа к этим данным безопасным и удобным для типа способом.

Например, фабрика может использовать данные BER в базовом элементе управления и возвратить экземпляр VirtualListReplyControl.

Если эта фабрика не может создать элемент управления, используя переданный аргумент, она должна вернуть null. Фабрика должна выбрасывать исключение только в том случае, если она является единственной целевой фабрикой и никакие другие фабрики элементов управления не должны быть опробованы. Это может произойти, например, если данные BER в элементе управления не соответствуют ожиданиям элемента управления с заданным OID. Поскольку этот метод выбрасывает NamingException, любое другое внутренне сгенерированное исключение, которое должно быть передано, должно быть обернуто в NamingException.

Параметры:
ctl - Не нулевой элемент управления.
Возвращает:
Возможный null Control.
Выбрасывает:
NamingException - Если ctl содержит некорректные данные, что препятствует его использованию для создания элемента управления. Фабрика должна выбрасывать исключение только в том случае, если она знает, как создать элемент управления (определяемый OID), но не может сделать это из-за, например, некорректных данных BER.

getControlInstance

public static Control getControlInstance(Control ctl,
                                         Context ctx,
                                         Hashtable<?,?> env)
                                  throws NamingException

Создает элемент управления, используя известные фабрики элементов управления.

Для создания элемента управления используется следующее правило:

  • Используйте фабрики элементов управления, указанные в свойстве LdapContext.CONTROL_FACTORIES среды и файла ресурсов поставщика, связанного с ctx, в указанном порядке. Значение этого свойства представляет собой список имён классов фабрики, разделённых двоеточиями, которые проверяются в порядке следования. Первая фабрика, которая успешно создаст элемент управления, и используется. Если ни одна из фабрик не может быть загружена, возвращается ctl. Если при создании элемента управления возникает исключение, исключение передаётся вызывающему методу.

Обратите внимание, что фабрика элементов управления должна быть публичной и должна иметь публичный конструктор, который не принимает аргументов.

Параметры:
ctl - Объект элемента управления, не равный null, содержащий OID и данные BER.
ctx - Возможно null контекст, в котором создается элемент управления. Если null, такой информации нет.
env - Возможно null окружение контекста. Используется для поиска значения свойства LdapContext.CONTROL_FACTORIES.
Возвращает:
Объект элемента управления, созданный с помощью ctl; или ctl если объект элемента управления не может быть создан с помощью описанного выше алгоритма.
Выбрасывает:
NamingException - если во время попытки создания объекта элемента управления возникло исключение именования. Если один из фабрик выбросит исключение, оно передается вызывающему методу. Если при загрузке и создании классов фабрики и объекта возникла ошибка, исключение обертывается в NamingException и затем повторно выбрасывается.

© 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