- java.lang.Object
-
- javax.smartcardio.TerminalFactory
-
public final class TerminalFactory extends Object
CardTerminalオブジェクトのファクトリです。 これにより、アプリケーションで次のことができます。- このクラスのstaticファクトリ・メソッドのいずれか(getDefault()またはgetInstance())を呼び出すことで、TerminalFactoryを取得する。
- このTerminalFactoryオブジェクトを使用して、terminals()メソッドを呼び出すことでCardTerminalsにアクセスする。
それぞれのTerminalFactoryには、それがどのように実装されたかを示す
type
があります。 これは、getInstance()メソッドを使用して実装を取得するときに指定する必要があり、getType()メソッドを使って取得できます。定義されているのは、次の標準の型名です。
PC/SC
- ホスト・プラットフォームのPC/SCスマート・カードのスタックを呼び出す実装。 実装はパラメータを必要とせず、getInstance()呼出しの引数として「null」を受け入れます。
None
- CardTerminalsを提供しない実装。 ほかの実装を提供しないプラットフォームでは、getDefaultType()は
None
を返し、getDefault()はNone
TerminalFactoryのインスタンスを返します。 この型のファクトリは、getInstance()
メソッドを呼び出すことでは取得できません。
ノート:
getInstance()
メソッドを使って初期化パラメータを受け入れるプロバイダ実装では、可能なかぎりStringの名前と値のペアをベースにしたパラメータの表現としてPropertiesオブジェクトを使用することを強くお勧めします。 これにより、各プロバイダがパラメータとしてさまざまなプロバイダ固有のクラスを使用する場合に比べて、アプリケーションでの複数プロバイダとの相互運用が簡単になります。TerminalFactoryは、拡張可能なサービス・プロバイダ・フレームワークを利用します。 新しい実装の追加を必要とするサービス・プロバイダは、詳細についてTerminalFactorySpiクラスを参照してください。
- 導入されたバージョン:
- 1.6
- 関連項目:
CardTerminals
,Provider
-
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 static TerminalFactory
getDefault()
デフォルトのTerminalFactoryインスタンスを返します。static String
getDefaultType()
デフォルトのTerminalFactory型を取得します。static TerminalFactory
getInstance(String type, Object params)
指定されたパラメータで初期化される、指定された型のTerminalFactoryを返します。static TerminalFactory
getInstance(String type, Object params, String provider)
指定されたパラメータで初期化される、指定された型のTerminalFactoryを返します。static TerminalFactory
getInstance(String type, Object params, Provider provider)
指定されたパラメータで初期化される、指定された型のTerminalFactoryを返します。Provider
getProvider()
このTerminalFactoryのプロバイダを返します。String
getType()
このTerminalFactoryの型を返します。CardTerminals
terminals()
このファクトリでサポートされる端末をカプセル化する、新しいCardTerminalsオブジェクトを返します。String
toString()
このTerminalFactoryの文字列表現を返します。
-
-
-
メソッドの詳細
-
getDefaultType
public static String getDefaultType()
デフォルトのTerminalFactory型を取得します。これは次のように決定されます。このクラスが初期化されるときに、システム・プロパティ
javax.smartcardio.TerminalFactory.DefaultType
が検査されます。 これが設定されている場合、この型のTerminalFactoryは、params
の値としてnull
を渡してgetInstance(String,Object)メソッドを呼び出すことでインスタンス化されます。 呼出しが成功すると、型はデフォルトの型になり、ファクトリはデフォルト・ファクトリになります。システム・プロパティが設定されていない場合、または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()メソッド経由で取得できます。
TerminalFactory
は、指定されたパラメータのObjectで初期化されます。 必要なパラメータの型は、TerminalFactory
の型によって異なります。- 実装上のノート:
- JDKリファレンス実装では、
jdk.security.provider.preferred
Security
プロパティを使用して、指定されたアルゴリズムの優先プロバイダの順序を決定します。 これは、Security.getProviders()
によって返されるプロバイダの順序とは異なる場合があります。 - パラメータ:
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()メソッド経由で取得できます。
TerminalFactory
は、指定されたパラメータのObjectで初期化されます。 必要なパラメータの型は、TerminalFactory
の型によって異なります。- パラメータ:
type
- 要求されたTerminalFactoryの型params
- TerminalFactorySpi実装に渡すパラメータ。パラメータの必要がない場合はnullprovider
- プロバイダ名- 戻り値:
- 指定された型の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オブジェクトが返されます。 指定したプロバイダ・オブジェクトは、プロバイダ・リストに登録する必要はありません。
TerminalFactory
は、指定されたパラメータのObjectで初期化されます。 必要なパラメータの型は、TerminalFactory
の型によって異なります。- パラメータ:
type
- 要求されたTerminalFactoryの型params
- TerminalFactorySpi実装に渡すパラメータ。パラメータの必要がない場合はnullprovider
- プロバイダ- 戻り値:
- 指定された型の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オブジェクト。
-
-