public abstract class Card extends Object
CardTerminal.connect()
を呼び出して取得します。CardTerminal
修飾子 | コンストラクタと説明 |
---|---|
protected |
Card()
新しい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()メソッドを呼び出してCardオブジェクトを取得する必要があります。
public abstract ATR getATR()
public abstract String getProtocol()
public abstract CardChannel getBasicChannel()
SecurityException
- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合IllegalStateException
- このカード・オブジェクトがdisconnect()メソッドによって破棄されている場合public abstract CardChannel openLogicalChannel() throws CardException
[00 70 00 00 01]
という形式を使用するMANAGE CHANNEL
コマンドを発行することによってオープンします。SecurityException
- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合CardException
- 新しい論理チャネルをオープンできなかった場合IllegalStateException
- このカード・オブジェクトがdisconnect()メソッドによって破棄されている場合public abstract void beginExclusive() throws CardException
スレッドがbeginExclusive
を呼び出したあと、endExclusive
を呼び出すまで、このスレッドのみがこのカードと通信できるようになります。通信を試みるその他のスレッドは、CardExceptionを受信します。
アプリケーションでは、排他的なアクセスが正しく解除されるようにする必要があります。これは、try ... finally
ブロックでbeginExclusive()
およびendExclusive
呼出しを実行することで達成できます。
SecurityException
- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合CardException
- 排他的なアクセスがすでに設定されている場合、または排他的なアクセスを設定できなかった場合IllegalStateException
- このカード・オブジェクトがdisconnect()メソッドによって破棄されている場合public abstract void endExclusive() throws CardException
beginExclusive
を使用して確立された排他的なアクセスを解除します。SecurityException
- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合IllegalStateException
- アクティブなスレッドに現在このカードへの排他的なアクセスがない場合、またはこのカード・オブジェクトがdisconnect()メソッドによって破棄されている場合CardException
- 処理が失敗した場合public abstract byte[] transmitControlCommand(int controlCode, byte[] command) throws CardException
これは、たとえば、組込みのPINパッドやバイオメトリックスなどの端末機能の制御に使用できます。
controlCode
- コマンドの制御コードcommand
- コマンド・データSecurityException
- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合NullPointerException
- コマンドがnullの場合CardException
- カード操作が失敗した場合IllegalStateException
- このカード・オブジェクトがdisconnect()メソッドによって破棄されている場合public abstract void disconnect(boolean reset) throws CardException
reset
- 切断後にカードをリセットするかどうか。CardException
- カード操作が失敗した場合SecurityException
- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合
Copyright © 2005, 2018, Oracle and/or its affiliates. All rights reserved.