Класс TerminalFactory

public final class TerminalFactory
extends Object

Фабрика для объектов CardTerminal. Она позволяет приложению

  • получить TerminalFactory, вызвав один из статических методов фабрики в этом классе (getDefault() или getInstance()).
  • использовать этот объект TerminalFactory для доступа к CardTerminals, вызвав метод terminals().

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

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

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

Примечание: Реализации поставщиков, которые принимают параметры инициализации через 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.

Методы, объявленные в классе java.lang.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. Если вызов успешен, тип становится типом по умолчанию, а фабрика становится фабрикой по умолчанию. getDefault.

Если системная переменная не установлена или вызов 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 инициализируется заданными параметрами Object. Тип необходимых параметров может различаться в зависимости от различных типов 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 инициализируется заданными параметрами Object. Тип необходимых параметров может различаться в зависимости от различных типов 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 инициализируется заданными параметрами Object. Тип необходимых параметров может различаться в зависимости от различных типов 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.

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.smartcardio/javax/smartcardio/TerminalFactory.html

Spec-Zone .ru
спецификации, руководства, описания, API