Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Card extends Object
CardTerminal.connect()
.CardTerminal
Модификатор | Конструктор и Описание |
---|---|
protected |
Card()
Создает новый объект Карты.
|
Модификатор и Тип | Метод и Описание |
---|---|
abstract void |
beginExclusive()
Эксклюзивный доступ запросов к этой карте.
|
abstract void |
disconnect(boolean reset)
Разъединяет соединение с этой картой.
|
abstract void |
endExclusive()
Выпускает эксклюзивный доступ, ранее установил использование
beginExclusive . |
abstract ATR |
getATR()
Возвращает ATR этой карты.
|
abstract CardChannel |
getBasicChannel()
Возвращает CardChannel для основного логического канала.
|
abstract String |
getProtocol()
Возвращает протокол в использовании для этой карты.
|
abstract CardChannel |
openLogicalChannel()
Открывает новый логический канал для карты и возвращает это.
|
abstract byte[] |
transmitControlCommand(int controlCode, byte[] command)
Передает команду управления к терминальному устройству.
|
protected Card()
Этого конструктора вызывают подклассы только. Приложение должно вызвать CardTerminal.connect () метод, чтобы получить объект Карты.
public abstract ATR getATR()
public abstract String getProtocol()
public abstract CardChannel getBasicChannel()
SecurityException
- если SecurityManager существует, и у вызывающей стороны нет необходимого разрешениеIllegalStateException
- если от этого объекта карты избавились через разъединение () методpublic abstract CardChannel openLogicalChannel() throws CardException
MANAGE CHANNEL
команда, которая должна использовать формат [00 70 00 00 01]
.SecurityException
- если SecurityManager существует, и у вызывающей стороны нет необходимого разрешениеCardException
- новый логический канал, не мог быть открытIllegalStateException
- если от этого объекта карты избавились через разъединение () методpublic abstract void beginExclusive() throws CardException
Как только поток вызвал beginExclusive
, только этому потоку позволяют связаться с этой картой, пока это не вызывает endExclusive
. Другие потоки, делая попытку передачи получат CardException.
Приложения должны гарантировать, что эксклюзивный доступ правильно выпускается. Это может быть достигнуто, выполняясь beginExclusive()
и endExclusive
вызовы в a try ... finally
блок.
SecurityException
- если SecurityManager существует, и у вызывающей стороны нет необходимого разрешениеCardException
- если эксклюзивный доступ был уже установлен или если эксклюзивный доступ не мог бы быть установленIllegalStateException
- если от этого объекта карты избавились через разъединение () методpublic abstract void endExclusive() throws CardException
beginExclusive
.SecurityException
- если SecurityManager существует, и у вызывающей стороны нет необходимого разрешениеIllegalStateException
- если у активного Потока в настоящий момент нет эксклюзивного доступа к этой карте или если от этого объекта карты избавились через разъединение () методCardException
- если работа перестала работатьpublic abstract byte[] transmitControlCommand(int controlCode, byte[] command) throws CardException
Это может привыкнуть к, например, функции терминала управления как встроенная клавиатура ПИН или биометрия.
controlCode
- управляющий код командыcommand
- данные командыSecurityException
- если SecurityManager существует, и у вызывающей стороны нет необходимого разрешениеNullPointerException
- если команда является нулемCardException
- если работа карты перестала работатьIllegalStateException
- если от этого объекта карты избавились через разъединение () методpublic abstract void disconnect(boolean reset) throws CardException
reset
- сбросить ли карту после разъединения.CardException
- если работа карты перестала работатьSecurityException
- если SecurityManager существует, и у вызывающей стороны нет необходимого разрешения
Авторское право © 2005, 2011, Oracle и/или его филиалы. Все права защищены.