Java Smart Card I/O

javax.smartcardio
クラス TerminalFactory

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

public final class TerminalFactory
extends Object

CardTerminal オブジェクトのファクトリです。 これにより、アプリケーションで次のことができます。

それぞれの TerminalFactory には、それがどのように実装されたかを示す type があります。これは、getInstance() メソッドを使用して実装を取得するときに指定する必要があり、getType() メソッドを使って取得できます。

定義されているのは、次の標準の型名です。

PC/SC
ホストプラットフォームの PC/SC スマートカードのスタックを呼び出す実装。実装はパラメータを必要とせず、getInstance() 呼び出しの引数として「null」を受け入れます。
なし
CardTerminals を提供しない実装。ほかの実装を提供しないプラットフォームでは、getDefaultType()None を返し、getDefault()None TerminalFactory のインスタンスを返します。この型のファクトリは、getInstance() メソッドを呼び出すことでは取得できません。
将来、標準の型が定義される可能性があります。

注: getInstance() メソッドを使って初期化パラメータを受け入れるプロバイダ実装では、可能なかぎり String の名前と値のペアをベースにしたパラメータの表現として Properties オブジェクトを使用することを強くお勧めします。これにより、各プロバイダがパラメータとしてさまざまなプロバイダ固有のクラスを使用する場合に比べて、アプリケーションでの複数プロバイダとの相互運用が簡単になります。

TerminalFactory は、拡張可能なサービスプロバイダフレームワークを利用します。新しい実装の追加を必要とするサービスプロバイダは、詳細について TerminalFactorySpi クラスを参照してください。

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

メソッドの概要
static TerminalFactory getDefault()
          デフォルトの TerminalFactory インスタンスを返します。
static String getDefaultType()
          デフォルトの TerminalFactory 型を取得します。
static TerminalFactory getInstance(String type, Object params)
          指定されたパラメータで初期化される、指定された型の TerminalFactory を返します。
static TerminalFactory getInstance(String type, Object params, Provider provider)
          指定されたパラメータで初期化される、指定された型の TerminalFactory を返します。
static TerminalFactory getInstance(String type, Object params, String provider)
          指定されたパラメータで初期化される、指定された型の TerminalFactory を返します。
 Provider getProvider()
          この TerminalFactory のプロバイダを返します。
 String getType()
          この TerminalFactory の型を返します。
 CardTerminals terminals()
          このファクトリでサポートされる端末をカプセル化する、新しい CardTerminals オブジェクトを返します。
 String toString()
          この TerminalFactory の文字列表現を返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

メソッドの詳細

getDefaultType

public static String getDefaultType()
デフォルトの TerminalFactory 型を取得します。

これは次のように決定されます。 このクラスが初期化されるときに、システムプロパティー javax.smartcardio.TerminalFactory.DefaultType が検査されます。システムプロパティーが設定されている場合、この型の TerminalFactory は、params の値として null を指定して getInstance(String,Object) メソッドを呼び出すことでインスタンス生成されます。呼び出しが成功すると、型はデフォルトの型になり、ファクトリは default ファクトリになります。

システムプロパティーが設定されていない場合、または getInstance() 呼び出しがなんらかの理由で失敗した場合、システムにより実装固有のデフォルト型と TerminalFactory がデフォルトになります。

戻り値:
デフォルトの TerminalFactory 型

getDefault

public static TerminalFactory getDefault()
デフォルトの TerminalFactory インスタンスを返します。詳細は、getDefaultType() を参照してください。

デフォルトの TerminalFactory は常に使用可能です。ただし、実装によっては端末が提供されない場合があります。

戻り値:
デフォルトの TerminalFactory

getInstance

public static TerminalFactory getInstance(String type,
                                          Object params)
                                   throws NoSuchAlgorithmException
指定されたパラメータで初期化される、指定された型の TerminalFactory を返します。

このメソッドは、最優先の Provider から順に、登録済みのセキュリティー Provider のリストをトラバースします。指定された型をサポートする最初の Provider の TerminalFactorySpi 実装をカプセル化する新しい TerminalFactory オブジェクトが返されます。

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

TransformService は、指定されたパラメータの Object で初期化されます。必要なパラメータの型は、TerminalFactory の型によって異なります。

パラメータ:
type - 要求された TerminalFactory の型
params - TerminalFactorySpi 実装に渡すパラメータ。パラメータの必要がない場合は null
戻り値:
指定された型の TerminalFactory
例外:
NullPointerException - type が null の場合
NoSuchAlgorithmException - 指定された型の TerminalFactorySpi をサポートする Provider がない場合

getInstance

public static TerminalFactory getInstance(String type,
                                          Object params,
                                          String provider)
                                   throws NoSuchAlgorithmException,
                                          NoSuchProviderException
指定されたパラメータで初期化される、指定された型の TerminalFactory を返します。

指定されたプロバイダの TerminalFactorySpi 実装をカプセル化する新しい TerminalFactory オブジェクトが返されます。指定したプロバイダは、セキュリティープロバイダリストに登録する必要があります。

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

TransformService は、指定されたパラメータの Object で初期化されます。必要なパラメータの型は、TerminalFactory の型によって異なります。

パラメータ:
type - 要求された TerminalFactory の型
params - TerminalFactorySpi 実装に渡すパラメータ。パラメータの必要がない場合は null
provider - プロバイダ名
戻り値:
指定された型の TerminalFactory
例外:
NullPointerException - type が null の場合
IllegalArgumentException - provider が null または空の文字列である場合
NoSuchAlgorithmException - 指定された型の TerminalFactorySpi 実装が、指定されたプロバイダから使用可能でない場合
NoSuchAlgorithmException - 指定された型の TerminalFactory が見つからなかった場合
NoSuchProviderException - 指定されたプロバイダが見つからなかった場合

getInstance

public static TerminalFactory getInstance(String type,
                                          Object params,
                                          Provider provider)
                                   throws NoSuchAlgorithmException
指定されたパラメータで初期化される、指定された型の TerminalFactory を返します。

指定されたプロバイダオブジェクトの TerminalFactorySpi 実装をカプセル化する新しい TerminalFactory オブジェクトが返されます。指定したプロバイダオブジェクトは、プロバイダーリストに登録する必要はありません。

TransformService は、指定されたパラメータの Object で初期化されます。必要なパラメータの型は、TerminalFactory の型によって異なります。

パラメータ:
type - 要求された TerminalFactory の型
params - TerminalFactorySpi 実装に渡すパラメータ。パラメータの必要がない場合は null
provider - プロバイダ
戻り値:
指定された型の TerminalFactory
例外:
NullPointerException - type が null の場合
IllegalArgumentException - provider が null の場合
NoSuchAlgorithmException - 指定された型の TerminalFactorySpi 実装が、指定されたプロバイダから使用可能でない場合

getProvider

public Provider getProvider()
この TerminalFactory のプロバイダを返します。

戻り値:
この TerminalFactory のプロバイダ

getType

public String getType()
この TerminalFactory の型を返します。これは、このオブジェクトを返した getInstance() メソッドに指定された値です。

戻り値:
この TerminalFactory の型

terminals

public CardTerminals terminals()
このファクトリでサポートされる端末をカプセル化する、新しい CardTerminals オブジェクトを返します。返されるオブジェクトの共有と再利用の方法については、CardTerminals クラスのクラスコメントを参照してください。

戻り値:
このファクトリでサポートされる端末をカプセル化する、新しい CardTerminals オブジェクト

toString

public String toString()
この TerminalFactory の文字列表現を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
この TerminalFactory の文字列表現

Java Smart Card I/O