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, 2013, Oracle and/or its affiliates. All rights reserved.