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