Класс Card
public abstract class Card extends Object
CardTerminal.connect().- С версии:
- 1.6
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает новый объект Card. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
beginExclusive() |
Запрашивает монопольный доступ к этой карте. |
abstract void |
disconnect |
Разрывает соединение с этой картой. |
abstract void |
endExclusive() |
Освобождает монопольный доступ, ранее полученный с помощью beginExclusive. |
abstract ATR |
getATR() |
Возвращает ATR этой карты. |
abstract CardChannel |
getBasicChannel() |
Возвращает CardChannel для базового логического канала. |
abstract String |
getProtocol() |
Возвращает протокол, используемый этой картой. |
abstract CardChannel |
openLogicalChannel() |
Открывает новый логический канал карты и возвращает его. |
abstract byte[] |
transmitControlCommand |
Передает управляющую команду терминальному устройству. |
Подробное описание конструкторов
Card
protected Card()
Этот конструктор вызывается только подклассами. Для получения объекта Card приложение должно вызвать метод CardTerminal.connect().
Подробное описание методов
getATR
public abstract ATR getATR()
- Возвращает:
- ATR этой карты.
getProtocol
public abstract String getProtocol()
- Возвращает:
- протокол, используемый этой картой, например "T=0" или "T=1"
getBasicChannel
public abstract CardChannel getBasicChannel()
- Возвращает:
- 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
Например, этот метод можно использовать для управления функциями терминала, такими как встроенная клавиатура для ввода PIN-кода или биометрические функции.
- Параметры:
-
controlCode— код управления команды -
command— данные команды - Возвращает:
- ответ терминального устройства
- Вызывает исключение:
-
SecurityException— если существует SecurityManager и у вызывающего кода нет необходимых разрешений -
NullPointerException— если command имеет значение null -
CardException— если операция с картой завершилась неудачно -
IllegalStateException— если этот объект карты был освобожден вызовом метода disconnect()
disconnect
public abstract void disconnect(boolean reset) throws CardException
- Параметры:
-
reset— следует ли сбросить карту после отключения. - Вызывает исключение:
-
CardException— если операция с картой завершилась неудачно -
SecurityException— если существует SecurityManager и у вызывающего кода нет необходимых разрешений
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.smartcardio/javax/smartcardio/Card.html