Spec-Zone.ru › OpenJDK 24

Класс Card

java.lang.Object
javax.smartcardio.Card
public abstract class Card extends Object
Умная карта, с которой установлено соединение. Объекты Card получаются при вызове CardTerminal.connect().
С момента:
1.6
См. также:
  • CardTerminal

Краткое описание конструкторов

Card()
Модификатор Конструктор Описание
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)
Пересылает управляющую команду на устройство терминала.

Методы, объявленные в классе 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
Пересылает управляющую команду на устройство терминала.

Это можно использовать, например, для управления функциями терминала, такими как встроенный PIN-пад или биометрия.

Параметры:
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, 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://download.java.net/java/early_access/jdk24/docs/api/java.smartcardio/javax/smartcardio/Card.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API