Spec-Zone.ru › OpenJDK 24

Класс ControlFactory

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

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

С момента:
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 в элементе управления не соответствуют ожидаемым данным для элемента управления с заданным OID. Поскольку этот метод выбрасывает NamingException, любое другое внутренне сгенерированное исключение, которое должно быть распространено, должно быть заключено в NamingException.

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

getControlInstance

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

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

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

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

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

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.naming/javax/naming/ldap/ControlFactory.html

Spec-Zone.ru

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