Spec-Zone.ru › OpenJDK 25

Класс 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
реализация, не предоставляющая ни одного CardTerminal. На платформах, не поддерживающих другие реализации, метод getDefaultType() возвращает None, а метод getDefault() возвращает экземпляр TerminalFactory типа None. Фабрики этого типа нельзя получить с помощью методов getInstance().
В будущем могут быть определены дополнительные стандартные типы.

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

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

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

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 — если ни один Provider не поддерживает 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 — если у указанного Provider отсутствует реализация 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.smartcardio/javax/smartcardio/TerminalFactory.html

Spec-Zone.ru

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