Spec-Zone.ru › OpenJDK 27

Класс TerminalFactory

java.lang.Object
javax.smartcardio.TerminalFactory
public final class TerminalFactory extends Object
Фабрика объектов CardTerminal. Она позволяет приложению
  • получить TerminalFactory, вызвав один из статических методов-фабрик этого класса (getDefault() или getInstance()).
  • использовать этот объект TerminalFactory для доступа к CardTerminals, вызвав метод terminals().

Каждый TerminalFactory имеет type, указывающий, как он реализован. Он должен быть указан при получении реализации с помощью метода getInstance() и может быть получен с помощью метода getType().

Определены следующие стандартные имена типов:

PC/SC
реализация, которая обращается к стеку смарт-карт PC/SC платформы хоста. Для реализации не требуются параметры, и в вызовах getInstance() в качестве аргумента принимается "null".
None
реализация, не предоставляющая объекты CardTerminals. На платформах, не поддерживающих другие реализации, метод getDefaultType() возвращает None, а метод getDefault() возвращает экземпляр TerminalFactory типа None. Фабрики этого типа нельзя получить вызовом методов getInstance().
В будущем могут быть определены дополнительные стандартные типы.

Примечание: Реализациям поставщиков, принимающим параметры инициализации через методы getInstance(), настоятельно рекомендуется по возможности использовать объект Properties для представления параметров в виде пар «имя-значение» типа String. Это позволяет приложениям проще взаимодействовать с несколькими поставщиками, чем если бы каждый поставщик использовал собственный класс для представления параметров.

TerminalFactory использует расширяемую инфраструктуру поставщиков услуг. Поставщикам услуг, желающим добавить новую реализацию, следует обратиться к классу TerminalFactorySpi для получения дополнительной информации.

Начиная с версии:
1.6
См. также:
  • CardTerminals
  • Provider

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

Модификатор и тип Метод Описание
static TerminalFactory getDefault()
Возвращает экземпляр TerminalFactory по умолчанию.
static String getDefaultType()
Возвращает тип TerminalFactory по умолчанию.
static TerminalFactory getInstance(String type, Object params)
Возвращает TerminalFactory указанного типа, инициализированный указанными параметрами.
static TerminalFactory getInstance(String type, Object params, String provider)
Возвращает TerminalFactory указанного типа, инициализированный указанными параметрами.
static TerminalFactory getInstance(String type, Object params, Provider provider)
Возвращает TerminalFactory указанного типа, инициализированный указанными параметрами.
Provider getProvider()
Возвращает поставщика этого TerminalFactory.
String getType()
Возвращает тип этого TerminalFactory.
CardTerminals terminals()
Возвращает новый объект CardTerminals, содержащий терминалы, поддерживаемые этой фабрикой.
String toString()
Возвращает строковое представление этого TerminalFactory.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, является ли другой объект «равным» этому.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного интервала реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного интервала реального времени.

Подробное описание методов

getDefaultType

public static String getDefaultType()
Возвращает тип TerminalFactory по умолчанию.

Он определяется следующим образом: при инициализации этого класса проверяется системное свойство javax.smartcardio.TerminalFactory.DefaultType. Если оно задано, создается TerminalFactory этого типа путем вызова метода getInstance(String,Object) со значением null для params. Если вызов завершается успешно, этот тип становится типом по умолчанию, а созданная фабрика — фабрикой по умолчанию.

Если системное свойство не задано или вызов getInstance() завершается ошибкой по любой причине, система использует тип и TerminalFactory по умолчанию, определенные конкретной реализацией.

Возвращает:
тип TerminalFactory по умолчанию

getDefault

public static TerminalFactory getDefault()
Возвращает экземпляр TerminalFactory по умолчанию. Дополнительные сведения см. в описании метода getDefaultType().

Фабрика TerminalFactory по умолчанию доступна всегда. Однако в зависимости от реализации она может не предоставлять терминалы.

Возвращает:
TerminalFactory по умолчанию

getInstance

public static TerminalFactory getInstance(String type, Object params) throws NoSuchAlgorithmException
Возвращает TerminalFactory указанного типа, инициализированный указанными параметрами.

Этот метод перебирает список зарегистрированных поставщиков безопасности, начиная с наиболее предпочтительного. Возвращается новый объект TerminalFactory, содержащий реализацию TerminalFactorySpi первого поставщика, поддерживающего указанный тип.

Обратите внимание: список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().

TerminalFactory инициализируется указанным объектом параметров. Тип необходимых параметров может различаться для разных типов TerminalFactory.

Примечание по реализации:
Эталонная реализация JDK дополнительно использует свойство jdk.security.provider.preferred Security, чтобы определить предпочтительный порядок поставщиков для указанного алгоритма. Этот порядок может отличаться от порядка поставщиков, возвращаемых методом Security.getProviders().
Параметры:
type — тип запрашиваемой TerminalFactory
params — параметры, передаваемые реализации TerminalFactorySpi, или null, если параметры не требуются
Возвращает:
TerminalFactory указанного типа
Вызывает исключение:
NullPointerException — если type равен null
NoSuchAlgorithmException — если ни один поставщик не поддерживает TerminalFactorySpi указанного типа

getInstance

public static TerminalFactory getInstance(String type, Object params, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
Возвращает TerminalFactory указанного типа, инициализированный указанными параметрами.

Возвращается новый объект TerminalFactory, содержащий реализацию TerminalFactorySpi указанного поставщика. Указанный поставщик должен быть зарегистрирован в списке поставщиков безопасности.

Обратите внимание: список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().

TerminalFactory инициализируется указанным объектом параметров. Тип необходимых параметров может различаться для разных типов TerminalFactory.

Параметры:
type — тип запрашиваемой TerminalFactory
params — параметры, передаваемые реализации TerminalFactorySpi, или null, если параметры не требуются
provider — имя поставщика
Возвращает:
TerminalFactory указанного типа
Вызывает исключение:
NullPointerException — если type равен null
IllegalArgumentException — если provider равен null или является пустой строкой
NoSuchAlgorithmException — если у указанного поставщика отсутствует реализация TerminalFactorySpi указанного типа
NoSuchAlgorithmException — если не удалось найти TerminalFactory указанного типа
NoSuchProviderException — если указанный поставщик не найден

getInstance

public static TerminalFactory getInstance(String type, Object params, Provider provider) throws NoSuchAlgorithmException
Возвращает TerminalFactory указанного типа, инициализированный указанными параметрами.

Возвращается новый объект TerminalFactory, содержащий реализацию TerminalFactorySpi из указанного объекта поставщика. Обратите внимание: указанный объект поставщика не обязательно должен быть зарегистрирован в списке поставщиков.

TerminalFactory инициализируется указанным объектом параметров. Тип необходимых параметров может различаться для разных типов TerminalFactory.

Параметры:
type — тип запрашиваемой TerminalFactory
params — параметры, передаваемые реализации TerminalFactorySpi, или null, если параметры не требуются
provider — поставщик
Возвращает:
TerminalFactory указанного типа
Вызывает исключение:
NullPointerException — если type равен null
IllegalArgumentException — если provider равен null
NoSuchAlgorithmException — если у указанного поставщика отсутствует реализация TerminalFactorySpi указанного типа

getProvider

public Provider getProvider()
Возвращает поставщика этого TerminalFactory.
Возвращает:
поставщика этого TerminalFactory.

getType

public String getType()
Возвращает тип этого TerminalFactory. Это значение, указанное в методе getInstance(), который вернул этот объект.
Возвращает:
тип этого TerminalFactory

terminals

public CardTerminals terminals()
Возвращает новый объект CardTerminals, содержащий терминалы, поддерживаемые этой фабрикой. Сведения о совместном использовании и повторном использовании возвращаемых объектов см. в комментарии к классу CardTerminals.
Возвращает:
новый объект CardTerminals, содержащий терминалы, поддерживаемые этой фабрикой.

toString

public String toString()
Возвращает строковое представление этого TerminalFactory.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого TerminalFactory.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, общие сведения, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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