Spec-Zone.ru › OpenJDK 21

Класс ControlFactory

java.lang.Object
javax.naming.ldap.ControlFactory
public abstract class ControlFactory extends Object
Этот абстрактный класс представляет фабрику для создания управляющих элементов LDAPv3. Управляющие элементы LDAPv3 определены в RFC 2251.

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

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

Краткое описание конструкторов

ControlFactory()
Модификатор Конструктор Описание
protected
Создает новый экземпляр фабрики управляющих элементов.

Краткое описание методов

Модификатор и тип Метод Описание
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 в управляющем элементе не соответствуют ожидаемым данным управляющего элемента с заданным идентификатором объекта. Так как этот метод выбрасывает NamingException, любое другое внутренне сгенерированное исключение, которое должно быть распространено, должно быть обернуто в NamingException.

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

getControlInstance

public static Control getControlInstance(Control ctl, Context ctx, Hashtable<?,?> env) throws NamingException
Создаёт управляющий элемент с использованием известных фабрик управляющих элементов.

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

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

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

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

© 1993, 2023, 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/21/docs/api/java.naming/javax/naming/ldap/ControlFactory.html

Spec-Zone.ru

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