- java.lang.Object
-
- java.security.Provider.Service
-
- 含まれているクラス:
- Provider
public static class Provider.Service extends Object
特定のセキュリティ・サービスを記述したものです。 このクラスには、特定のサービスのプロパティがカプセル化されるほか、そのサービスの新しい実装インスタンスを取得するためのファクトリ・メソッドが含まれます。各サービスは、そのサービスを提供するプロバイダ、タイプ、アルゴリズム名、およびそのサービスを実装するクラス名を含みます。 また、オプションでこのサービス(別名)および属性に対する代替アルゴリズム名の一覧が含まれます。この一覧は、名前と値のStringペアのマップです。
このクラスに定義されている
supportsParameter()
とnewInstance()
メソッドは、Javaセキュリティ・フレームワークが条件に合致するサービスを検索してインスタンス化する際に使用されます。 これらのメソッドに対する有効な引数は、サービスのタイプごとに異なります。 Java SEで定義されたサービス・タイプについては、有効な値については「Java暗号化アーキテクチャ(JCA)リファレンス・ガイド」を参照してください。 Java SEの外部のコンポーネントでは、その他のサービス・タイプおよびその動作を定義することができます。このクラスのインスタンスは不変です。
- 導入されたバージョン:
- 1.5
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 String
getAlgorithm()
このサービスのアルゴリズム名を返します。String
getAttribute(String name)
指定された属性の値を返します。その属性がこのServiceで設定されていない場合はnullを返します。String
getClassName()
このサービスを実装するクラスの名前を返します。Provider
getProvider()
このサービスのProviderを返します。String
getType()
このサービスのタイプを取得します。Object
newInstance(Object constructorParameter)
このサービスが記述する実装の新しいインスタンスを返します。boolean
supportsParameter(Object parameter)
このServiceが指定されたパラメータを使用できるかどうかを判定します。String
toString()
このサービスのString表現を返します。
-
-
-
コンストラクタの詳細
-
Service
public Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)
新しいサービスを構築します。- パラメータ:
provider
- このサービスを提供するプロバイダtype
- このサービスのタイプalgorithm
- アルゴリズム名className
- このサービスを実装するクラスの名前aliases
- 別名のリスト。アルゴリズムの別名が存在しない場合はnullattributes
- 属性マップ。この実装に属性が含まれていない場合はnull- 例外:
NullPointerException
- プロバイダ、タイプ、アルゴリズム、またはclassNameがnullの場合
-
-
メソッドの詳細
-
getType
public final String getType()
このサービスのタイプを取得します。 たとえば、MessageDigest
です。- 戻り値:
- このサービスのタイプ
-
getAlgorithm
public final String getAlgorithm()
このサービスのアルゴリズム名を返します。 たとえば、SHA-1
です。- 戻り値:
- このサービスのアルゴリズム
-
getProvider
public final Provider getProvider()
このサービスのProviderを返します。- 戻り値:
- このサービスのProvider
-
getClassName
public final String getClassName()
このサービスを実装するクラスの名前を返します。- 戻り値:
- このサービスを実装するクラスの名前
-
getAttribute
public final String getAttribute(String name)
指定された属性の値を返します。その属性がこのServiceで設定されていない場合はnullを返します。- パラメータ:
name
- 要求された属性の名前- 戻り値:
- 指定された属性の値。その属性が存在しない場合はnull
- 例外:
NullPointerException
- nameがnullである場合
-
newInstance
public Object newInstance(Object constructorParameter) throws NoSuchAlgorithmException
このサービスが記述する実装の新しいインスタンスを返します。 セキュリティ・プロバイダ・フレームワークは、このメソッドを使って実装の構築を行います。 通常の場合、アプリケーションからこのメソッドを呼び出す必要はありません。デフォルト実装は、リフレクションを使ってこのサービス・タイプに対する標準のコンストラクタを呼び出します。 セキュリティ・プロバイダは、このメソッドをオーバーライドすることで、インスタンス化を別の方法で実装できます。 さまざまなタイプのサービスに有効なconstructorParameterの詳細と値については、「Java暗号化アーキテクチャ(JCA)リファレンス・ガイド」を参照してください。
- パラメータ:
constructorParameter
- コンストラクタに渡す値。このサービス・タイプがconstructorParameterを使用しない場合はnull。- 戻り値:
- このサービスの新しい実装
- 例外:
InvalidParameterException
- constructorParameterの値がこのサービス・タイプに対して無効である場合。NoSuchAlgorithmException
- なんらかの理由でインスタンス化が失敗した場合。
-
supportsParameter
public boolean supportsParameter(Object parameter)
このServiceが指定されたパラメータを使用できるかどうかを判定します。 このサービスがそのパラメータを使用できない場合はfalseを返します。 このサービスがそのパラメータを使用できる場合、高速な判定が実行不可能である場合、あるいは状態が不明である場合にはtrueを返します。セキュリティ・プロバイダ・フレームワークは、一部のサービス・タイプでこのメソッドを使用することで、条件に合致しない実装を処理対象からすばやく除外します。 通常の場合、アプリケーションからこのメソッドを呼び出す必要はありません。
さまざまなタイプのサービスに有効なパラメータの詳細と値については、このクラスのトップと「Java暗号化アーキテクチャ(JCA)リファレンス・ガイド」を参照してください。 セキュリティ・プロバイダは、このメソッドをオーバーライドすることで独自の判定ロジックを実装できます。
- パラメータ:
parameter
- 判定対象のパラメータ- 戻り値:
- このサービスが指定されたパラメータを使用できない場合はfalse; パラメータを使用する可能性がある場合はtrue
- 例外:
InvalidParameterException
- パラメータの値がこのサービス・タイプに対して無効である場合、またはこのメソッドがこのサービス・タイプで使用できない場合
-
-