Класс TerminalFactory
public final class TerminalFactory extends Object
- получить TerminalFactory, вызвав один из статических методов фабрики в этом классе (getDefault() или getInstance()).
- использовать этот объект TerminalFactory для доступа к CardTerminals, вызвав метод terminals().
Каждый TerminalFactory имеет type, указывающий, как он был реализован. Он должен быть указан, когда реализация получена с помощью метода getInstance(), и может быть получен через метод getType().
Определены следующие стандартные имена типов:
-
PC/SC - реализация, обращающаяся к стеку PC/SC Smart Card платформы. Реализации не требуют параметров и принимают "null" в качестве аргумента в вызовах getInstance().
-
None - реализация, которая не предоставляет никаких CardTerminals. На платформах, которые не поддерживают другие реализации, getDefaultType() возвращает
None, а getDefault() возвращает экземплярNoneTerminalFactory. Фабрики этого типа не могут быть получены с помощью методовgetInstance().
Примечание: Реализации поставщиков, которые принимают параметры инициализации через методы getInstance(), настоятельно рекомендуются использовать объект Properties в качестве представления параметров в формате имя-значение, где возможно. Это позволяет приложениям легче взаимодействовать с несколькими поставщиками, чем если бы каждый поставщик использовал разные классы параметров, специфичные для поставщика.
TerminalFactory использует расширяемую инфраструктуру поставщиков услуг. Поставщикам сервисов, которые хотят добавить новую реализацию, следует обратиться к классу TerminalFactorySpi для получения дополнительной информации.
- С:
- 1.6
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static TerminalFactory |
getDefault() |
Возвращает экземпляр TerminalFactory по умолчанию. |
static String |
getDefaultType() |
Получить тип TerminalFactory по умолчанию. |
static TerminalFactory |
getInstance |
Возвращает TerminalFactory заданного типа, инициализированного заданными параметрами. |
static TerminalFactory |
getInstance |
Возвращает TerminalFactory заданного типа, инициализированного заданными параметрами. |
static TerminalFactory |
getInstance |
Возвращает TerminalFactory заданного типа, инициализированного заданными параметрами. |
Provider |
getProvider() |
Возвращает поставщика этого TerminalFactory. |
String |
getType() |
Возвращает тип этого TerminalFactory. |
CardTerminals |
terminals() |
Возвращает новый объект CardTerminals, содержащий терминалы, поддерживаемые этой фабрикой. |
String |
toString() |
Возвращает строковое представление этого TerminalFactory. |
Подробности методов
getDefaultType
public static String getDefaultType()
Определяется следующим образом: при инициализации этого класса система проверяет системную переменную javax.smartcardio.TerminalFactory.DefaultType. Если она установлена, то создается TerminalFactory этого типа, вызывая метод getInstance(String,Object), передавая значение null в качестве значения для params. Если вызов успешен, тип становится типом по умолчанию, а фабрика становится фабрикой по умолчанию default.
Если системная переменная не установлена или вызов getInstance() завершается неудачно по любой причине, система использует по умолчанию тип и TerminalFactory, специфичные для реализации.
- Возвращает:
- тип TerminalFactory по умолчанию
getDefault
public static TerminalFactory getDefault()
Фабрика TerminalFactory по умолчанию всегда доступна. Однако в зависимости от реализации она может не предлагать никаких терминалов.
- Возвращает:
- фабрику TerminalFactory по умолчанию
getInstance
public static TerminalFactory getInstance(String type, Object params) throws NoSuchAlgorithmException
Этот метод обходит список зарегистрированных поставщиков безопасности, начиная с предпочтительного поставщика. Возвращается новый объект TerminalFactory, инкапсулирующий реализацию TerminalFactorySpi из первого поставщика, который поддерживает указанный тип.
Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().
TerminalFactory инициализируется указанными параметрами Object. Тип необходимых параметров может различаться в зависимости от различных типов TerminalFactory.
- Примечание реализации:
- Реализация JDK Reference также использует свойство
jdk.security.provider.preferredSecurity, чтобы определить предпочтительный порядок поставщиков для указанного алгоритма. Он может отличаться от порядка поставщиков, возвращаемого методом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, инкапсулирующий реализацию 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, инкапсулирующий реализацию TerminalFactorySpi от указанного объекта поставщика. Обратите внимание, что указанный объект поставщика не обязательно должен быть зарегистрирован в списке поставщиков.
TerminalFactory инициализируется указанными параметрами Object. Тип необходимых параметров может различаться в зависимости от различных типов TerminalFactory.
- Параметры:
-
type- тип запрошенной TerminalFactory -
params- параметры для передачи в реализацию TerminalFactorySpi, или null, если параметры не нужны -
provider- поставщик - Возвращает:
- TerminalFactory указанного типа
- Исключения:
-
NullPointerException- если type равен null -
IllegalArgumentException- если provider равен null -
NoSuchAlgorithmException- если реализация TerminalFactorySpi указанного типа недоступна от указанного поставщика
getProvider
public Provider getProvider()
- Возвращает:
- поставщика этой TerminalFactory.
getType
public String getType()
- Возвращает:
- тип этой TerminalFactory
terminals
public CardTerminals terminals()
- Возвращает:
- новый объект CardTerminals, инкапсулирующий терминалы, поддерживаемые этой фабрикой.
toString
© 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.smartcardio/javax/smartcardio/TerminalFactory.html