|
Java Smart Card I/O | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.smartcardio.Card
public abstract class Card
A Smart Card with which a connection has been established. Card objects
are obtained by calling CardTerminal.connect()
.
CardTerminal
Constructor Summary | |
---|---|
protected |
Card()
Constructs a new Card object. |
Method Summary | |
---|---|
abstract void |
beginExclusive()
Requests exclusive access to this card. |
abstract void |
disconnect(boolean reset)
Disconnects the connection with this card. |
abstract void |
endExclusive()
Releases the exclusive access previously established using beginExclusive . |
abstract ATR |
getATR()
Returns the ATR of this card. |
abstract CardChannel |
getBasicChannel()
Returns the CardChannel for the basic logical channel. |
abstract String |
getProtocol()
Returns the protocol in use for this card. |
abstract CardChannel |
openLogicalChannel()
Opens a new logical channel to the card and returns it. |
abstract byte[] |
transmitControlCommand(int controlCode,
byte[] command)
Transmits a control command to the terminal device. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected Card()
This constructor is called by subclasses only. Application should call the CardTerminal.connect() method to obtain a Card object.
Method Detail |
---|
public abstract ATR getATR()
public abstract String getProtocol()
public abstract CardChannel getBasicChannel()
SecurityException
- if a SecurityManager exists and the
caller does not have the required
permission
IllegalStateException
- if this card object has been disposed of
via the disconnect() methodpublic abstract CardChannel openLogicalChannel() throws CardException
MANAGE CHANNEL
command that should use
the format [00 70 00 00 01]
.
SecurityException
- if a SecurityManager exists and the
caller does not have the required
permission
CardException
- is a new logical channel could not be opened
IllegalStateException
- if this card object has been disposed of
via the disconnect() methodpublic abstract void beginExclusive() throws CardException
Once a thread has invoked beginExclusive
, only this
thread is allowed to communicate with this card until it calls
endExclusive
. Other threads attempting communication
will receive a CardException.
Applications have to ensure that exclusive access is correctly
released. This can be achieved by executing
the beginExclusive()
and endExclusive
calls
in a try ... finally
block.
SecurityException
- if a SecurityManager exists and the
caller does not have the required
permission
CardException
- if exclusive access has already been set
or if exclusive access could not be established
IllegalStateException
- if this card object has been disposed of
via the disconnect() methodpublic abstract void endExclusive() throws CardException
beginExclusive
.
SecurityException
- if a SecurityManager exists and the
caller does not have the required
permission
IllegalStateException
- if the active Thread does not currently have
exclusive access to this card or
if this card object has been disposed of
via the disconnect() method
CardException
- if the operation failedpublic abstract byte[] transmitControlCommand(int controlCode, byte[] command) throws CardException
This can be used to, for example, control terminal functions like a built-in PIN pad or biometrics.
controlCode
- the control code of the commandcommand
- the command data
SecurityException
- if a SecurityManager exists and the
caller does not have the required
permission
NullPointerException
- if command is null
CardException
- if the card operation failed
IllegalStateException
- if this card object has been disposed of
via the disconnect() methodpublic abstract void disconnect(boolean reset) throws CardException
reset
- whether to reset the card after disconnecting.
CardException
- if the card operation failed
SecurityException
- if a SecurityManager exists and the
caller does not have the required
permission
|
Java Smart Card I/O | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |