Класс TerminalFactory
public final class TerminalFactory extends Object
- получить 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
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, является ли другой объект «равным» этому. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного интервала реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного интервала реального времени. |
Подробное описание методов
getDefaultType
public static String getDefaultType()
Он определяется следующим образом: при инициализации этого класса проверяется системное свойство javax.smartcardio.TerminalFactory.DefaultType. Если оно задано, создается TerminalFactory этого типа путем вызова метода getInstance(String,Object) со значением null для params. Если вызов завершается успешно, этот тип становится типом по умолчанию, а созданная фабрика — фабрикой по умолчанию.
Если системное свойство не задано или вызов 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 инициализируется указанным объектом параметров. Тип необходимых параметров может различаться для разных типов 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, содержащий реализацию 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, содержащий реализацию TerminalFactorySpi из указанного объекта поставщика. Обратите внимание: указанный объект поставщика не обязательно должен быть зарегистрирован в списке поставщиков.
TerminalFactory инициализируется указанным объектом параметров. Тип необходимых параметров может различаться для разных типов 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.