Класс Card
- java.lang.Object
-
- javax.smartcardio.Card
public abstract class Card extends Object
Смарт-карта, с которой установлено подключение. Объекты Card получаются путём вызова CardTerminal.connect().
- Since:
- 1.6
- См. также:
CardTerminal
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Card() |
Создаёт новый объект Card. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
beginExclusive() |
Запрашивает эксклюзивный доступ к этой карте. |
abstract void |
disconnect(boolean reset) |
Отключает подключение к этой карте. |
abstract void |
endExclusive() |
Освобождает эксклюзивный доступ, установленный ранее с помощью |
abstract ATR |
getATR() |
Возвращает ATR этой карты. |
abstract CardChannel |
getBasicChannel() |
Возвращает CardChannel для основного логического канала. |
abstract String |
getProtocol() |
Возвращает используемый протокол для этой карты. |
abstract CardChannel |
openLogicalChannel() |
Открывает новый логический канал на карте и возвращает его. |
abstract byte[] |
transmitControlCommand(int controlCode,
byte[] command) |
Пересылает управляющую команду устройству терминала. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Подробное описание конструкторов
Card
protected Card()
Создаёт новый объект Card.
Этот конструктор вызывается только подклассами. Приложение должно вызывать метод CardTerminal.connect() для получения объекта Card.
Подробное описание методов
getATR
public abstract ATR getATR()
Возвращает ATR этой карты.
- Возвращает:
- ATR этой карты.
getProtocol
public abstract String getProtocol()
Возвращает используемый протокол для этой карты.
- Возвращает:
- используемый протокол для этой карты, например "T=0" или "T=1"
getBasicChannel
public abstract CardChannel getBasicChannel()
Возвращает CardChannel для основного логического канала. У основного логического канала номер канала равен 0.
- Возвращает:
- CardChannel для основного логического канала
- Исключения:
-
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений -
IllegalStateException- если объект этой карты был удалён с помощью метода disconnect()
openLogicalChannel
public abstract CardChannel openLogicalChannel()
throws CardException
Открывает новый логический канал на карте и возвращает его. Канал открывается путём выдачи команды MANAGE CHANNEL, которая должна использовать формат [00 70 00 00 01].
- Возвращает:
- открытый логический канал
- Исключения:
-
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений -
CardException- если новый логический канал не может быть открыт -
IllegalStateException- если объект этой карты был удалён с помощью метода disconnect()
beginExclusive
public abstract void beginExclusive()
throws CardException
Запрашивает эксклюзивный доступ к этой карте.
После вызова beginExclusive, только этот поток может взаимодействовать с этой картой, пока он не вызовет endExclusive. Другие потоки, пытающиеся взаимодействовать, получат исключение CardException.
Приложения должны гарантировать правильное освобождение эксклюзивного доступа. Это можно сделать, выполнив вызовы beginExclusive() и endExclusive в блоке try ... finally.
- Исключения:
-
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений -
CardException- если эксклюзивный доступ уже установлен или эксклюзивный доступ не может быть установлен -
IllegalStateException- если объект этой карты был удалён с помощью метода disconnect()
endExclusive
public abstract void endExclusive()
throws CardException
Освобождает эксклюзивный доступ, установленный ранее с помощью beginExclusive.
- Исключения:
-
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений -
IllegalStateException- если активный поток не имеет в данный момент эксклюзивного доступа к этой карте, или если объект этой карты был удалён с помощью метода disconnect() -
CardException- если операция завершилась неудачно
transmitControlCommand
public abstract byte[] transmitControlCommand(int controlCode,
byte[] command)
throws CardException
Пересылает управляющую команду устройству терминала.
Это может использоваться, например, для управления функциями терминала, такими как встроенный ПИН-панель или биометрия.
- Параметры:
-
controlCode- код команды -
command- данные команды - Возвращает:
- ответ от устройства терминала
- Исключения:
-
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений -
NullPointerException- если команда равна null -
CardException- если операция с картой завершилась неудачно -
IllegalStateException- если объект этой карты был удалён с помощью метода disconnect()
disconnect
public abstract void disconnect(boolean reset)
throws CardException
Отключает подключение к этой карте. После возврата этого метода, вызов методов этого объекта или в CardChannels, связанных с этим объектом, требующих взаимодействия с картой, вызовет IllegalStateException.
- Параметры:
-
reset- нужно ли сбросить карту после отключения. - Исключения:
-
CardException- если операция с картой завершилась неудачно -
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений
© 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/Card.html