Java Smart Card I/O

javax.smartcardio
クラス CardTerminal

java.lang.Object
  上位を拡張 javax.smartcardio.CardTerminal

public abstract class CardTerminal
extends Object

スマートカード端末であり、スマートカードリーダーともいいます。CardTerminal オブジェクトは、CardTerminals.list() または CardTerminals.getTerminal() を呼び出すことで取得できます。

複数のカード用のスロットがある物理カードリーダーは、そのようなスロットごとに 1 つの CardTerminal オブジェクトによって表されます。

導入されたバージョン:
1.6
関連項目:
CardTerminals, TerminalFactory

コンストラクタの概要
protected CardTerminal()
          新しい CardTerminal オブジェクトを構築します。
 
メソッドの概要
abstract  Card connect(String protocol)
          カードへの接続を確立します。
abstract  String getName()
          この端末の一意名を返します。
abstract  boolean isCardPresent()
          この端末にカードが存在するかどうかを返します。
abstract  boolean waitForCardAbsent(long timeout)
          カードがこの端末内に存在しなくなるか、タイムアウトの期限が切れるまで待機します。
abstract  boolean waitForCardPresent(long timeout)
          カードがこの端末内に存在するようになるか、タイムアウトの期限が切れるまで待機します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

CardTerminal

protected CardTerminal()
新しい CardTerminal オブジェクトを構築します。

このコンストラクタはサブクラスのみから呼び出されます。アプリケーションでは、list() または getTerminal() を呼び出して CardTerminal オブジェクトを取得する必要があります。

メソッドの詳細

getName

public abstract String getName()
この端末の一意名を返します。

戻り値:
この端末の一意名

connect

public abstract Card connect(String protocol)
                      throws CardException
カードへの接続を確立します。指定されたプロトコルを使用して以前に接続が確立されていた場合、このメソッドは前の呼び出しと同じ Card オブジェクトを返します。

パラメータ:
protocol - 使用するプロトコル (「T=0」、「T=1」、または「T=CL」)。使用可能なプロトコルを使用して接続する場合は「*」
例外:
NullPointerException - プロトコルが null の場合
IllegalArgumentException - プロトコルが無効なプロトコル仕様の場合
CardNotPresentException - この端末にカードが存在しない場合
CardException - 指定されたプロトコルを使用して接続を確立できなかった場合、または以前に別のプロトコルを使用して接続が確立されていた場合
SecurityException - SecurityManager が存在し、呼び出し側に必要な アクセス権 がない場合

isCardPresent

public abstract boolean isCardPresent()
                               throws CardException
この端末にカードが存在するかどうかを返します。

戻り値:
この端末にカードが存在するかどうか
例外:
CardException - 状態を確認できなかった場合

waitForCardPresent

public abstract boolean waitForCardPresent(long timeout)
                                    throws CardException
カードがこの端末内に存在するようになるか、タイムアウトの期限が切れるまで待機します。タイムアウトの期限が切れたためにメソッドが復帰した場合は、false を返します。それ以外の場合は true を返します。

このメソッドが呼び出されたときにカードがこの端末に存在する場合は、すぐに復帰します。

パラメータ:
timeout - 正の場合は、最大 timeout ミリ秒間ブロックする。ゼロの場合は、無期限にブロックする。負にすることはできない
戻り値:
タイムアウトの期限が切れたためにメソッドが復帰した場合は false、そうでない場合は true
例外:
IllegalArgumentException - timeout が負の値の場合
CardException - 処理が失敗した場合

waitForCardAbsent

public abstract boolean waitForCardAbsent(long timeout)
                                   throws CardException
カードがこの端末内に存在しなくなるか、タイムアウトの期限が切れるまで待機します。タイムアウトの期限が切れたためにメソッドが復帰した場合は、false を返します。それ以外の場合は true を返します。

このメソッドが呼び出されたときにカードがこの端末に存在しない場合は、すぐに復帰します。

パラメータ:
timeout - 正の場合は、最大 timeout ミリ秒間ブロックする。ゼロの場合は、無期限にブロックする。負にすることはできない
戻り値:
タイムアウトの期限が切れたためにメソッドが復帰した場合は false、そうでない場合は true
例外:
IllegalArgumentException - timeout が負の値の場合
CardException - 処理が失敗した場合

Java Smart Card I/O