java.lang.Object
javax.smartcardio.Card
public abstract class Card extends Object
接続が確立されているスマート・カードです。 Cardオブジェクトは
CardTerminal.connect()を呼び出して取得します。 - 導入されたバージョン:
- 1.6
- 関連項目:
- CardTerminal
- 
コンストラクタのサマリーコンストラクタ 修飾子 コンストラクタ 説明 protectedCard()新しいCardオブジェクトを構築します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 abstract voidbeginExclusive()このカードへの排他的なアクセスを要求します。abstract voiddisconnect(boolean reset)このカードとの接続を切断します。abstract voidendExclusive()以前にbeginExclusiveを使用して確立された排他的なアクセスを解除します。abstract ATRgetATR()このカードのATRを返します。abstract CardChannelgetBasicChannel()基本論理チャネルのCardChannelを返します。abstract StringgetProtocol()このカード用に使用されているプロトコルを返します。abstract CardChannelopenLogicalChannel()カードに新しい論理チャネルをオープンし、それを返します。abstract byte[]transmitControlCommand(int controlCode, byte[] command)制御コマンドを端末装置に送信します。
- 
コンストラクタの詳細- 
Cardprotected Card()新しいCardオブジェクトを構築します。このコンストラクタはサブクラスのみから呼び出されます。 アプリケーションでは、CardTerminal.connect()メソッドを呼び出してCardオブジェクトを取得する必要があります。 
 
- 
- 
メソッドの詳細- 
getATRpublic abstract ATR getATR()このカードのATRを返します。- 戻り値:
- このカードのATR。
 
- 
getProtocolpublic abstract String getProtocol()このカード用に使用されているプロトコルを返します。- 戻り値:
- このカード用に使用されているプロトコル。たとえば、「T=0」または「T=1」
 
- 
getBasicChannelpublic abstract CardChannel getBasicChannel()基本論理チャネルのCardChannelを返します。 基本論理チャネルは、チャネル番号が0です。- 戻り値:
- 基本論理チャネルのCardChannel
- 例外:
- SecurityException- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合
- IllegalStateException- このカード・オブジェクトがdisconnect()メソッドによって破棄されている場合
 
- 
openLogicalChannelpublic abstract CardChannel openLogicalChannel() throws CardExceptionカードに新しい論理チャネルをオープンし、それを返します。 チャネルは、[00 70 00 00 01]という形式を使用するMANAGE CHANNELコマンドを発行することによってオープンします。- 戻り値:
- オープンされた論理チャネル
- 例外:
- SecurityException- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合
- CardException- 新しい論理チャネルをオープンできなかった場合
- IllegalStateException- このカード・オブジェクトがdisconnect()メソッドによって破棄されている場合
 
- 
beginExclusivepublic abstract void beginExclusive() throws CardExceptionこのカードへの排他的なアクセスを要求します。スレッドが beginExclusiveを呼び出したあと、endExclusiveを呼び出すまで、このスレッドのみがこのカードと通信できるようになります。 通信を試みるその他のスレッドは、CardExceptionを受信します。アプリケーションでは、排他的なアクセスが正しく解除されるようにする必要があります。 これは、 try ... finallyブロックでbeginExclusive()およびendExclusive呼出しを実行することで達成できます。- 例外:
- SecurityException- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合
- CardException- 排他的なアクセスがすでに設定されている場合、または排他的なアクセスを設定できなかった場合
- IllegalStateException- このカード・オブジェクトがdisconnect()メソッドによって破棄されている場合
 
- 
endExclusivepublic abstract void endExclusive() throws CardException以前にbeginExclusiveを使用して確立された排他的なアクセスを解除します。- 例外:
- SecurityException- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合
- IllegalStateException- アクティブなスレッドに現在このカードへの排他的なアクセスがない場合、またはこのカード・オブジェクトがdisconnect()メソッドによって破棄されている場合
- CardException- 処理が失敗した場合
 
- 
transmitControlCommandpublic abstract byte[] transmitControlCommand(int controlCode, byte[] command) throws CardException制御コマンドを端末装置に送信します。これは、たとえば、組込みのPINパッドやバイオメトリックスなどの端末機能の制御に使用できます。 - パラメータ:
- controlCode- コマンドの制御コード
- command- コマンド・データ
- 戻り値:
- 端末装置からのレスポンス
- 例外:
- SecurityException- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合
- NullPointerException- コマンドがnullの場合
- CardException- カード操作が失敗した場合
- IllegalStateException- このカード・オブジェクトがdisconnect()メソッドによって破棄されている場合
 
- 
disconnectpublic abstract void disconnect(boolean reset) throws CardExceptionこのカードとの接続を切断します。 このメソッドが復帰したあと、このオブジェクトで、またはこのオブジェクトに関連付けられ、カードとのやり取りが必要なCardChannelでメソッドを呼び出すと、IllegalStateExceptionが発生します。- パラメータ:
- reset- 切断後にカードをリセットするかどうか。
- 例外:
- CardException- カード操作が失敗した場合
- SecurityException- SecurityManagerが存在し、呼出し側に必要なアクセス権がない場合
 
 
-