public static class Provider.Service extends Object
各サービスは、そのサービスを提供するプロバイダ、タイプ、アルゴリズム名、およびそのサービスを実装するクラス名を含みます。また、このサービス (別名) および属性に対する代替アルゴリズム名の一覧を持っています。この一覧は、名前と値の String ペアのマップです。
このクラスに定義されている supportsParameter()
と newInstance()
メソッドは、Java セキュリティーフレームワークが条件に合致するサービスを検索してインスタンス化する際に使用されます。これらのメソッドに対する有効な引数は、サービスのタイプごとに異なります。Java SE で定義されているサービスタイプについては、「Java 暗号化アーキテクチャー API の仕様およびリファレンス」を参照してください。Java SE の外部のコンポーネントでは、その他のサービスタイプおよびその動作を定義することができます。
このクラスのインスタンスは不変です。
コンストラクタと説明 |
---|
Provider.Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)
新しいサービスを構築します。
|
修飾子と型 | メソッドと説明 |
---|---|
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 表現を返します。
|
public Provider.Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)
provider
- このサービスを提供するプロバイダtype
- このサービスのタイプalgorithm
- アルゴリズム名className
- このサービスを実装するクラスの名前aliases
- 別名のリスト。アルゴリズムの別名が存在しない場合は nullattributes
- 属性マップ。この実装に属性が含まれていない場合は nullNullPointerException
- プロバイダ、タイプ、アルゴリズム、または className が null の場合public final String getType()
MessageDigest
です。public final String getAlgorithm()
SHA-1
です。public final Provider getProvider()
public final String getClassName()
public final String getAttribute(String name)
name
- 要求された属性の名前NullPointerException
- name が null の場合public Object newInstance(Object constructorParameter) throws NoSuchAlgorithmException
デフォルト実装は、リフレクションを使ってこのサービスタイプに対する標準のコンストラクタを呼び出します。セキュリティープロバイダは、このメソッドをオーバーライドすることで、インスタンス化を別の方法で実装できます。さまざまなサービスタイプの詳細や有効な constructorParameter 値については、「Java 暗号化アーキテクチャー API の仕様およびリファレンス」を参照してください。
constructorParameter
- コンストラクタに渡す値。このサービスタイプが constructorParameter を使用しない場合は null。InvalidParameterException
- constructorParameter の値がこのサービスタイプに対して無効である場合。NoSuchAlgorithmException
- なんらかの理由でインスタンス化が失敗した場合。public boolean supportsParameter(Object parameter)
セキュリティープロバイダフレームワークは、一部のサービスタイプでこのメソッドを使用することで、条件に合致しない実装を処理対象からすばやく除外します。通常の場合、アプリケーションからこのメソッドを呼び出す必要はありません。
さまざまなサービスタイプの詳細や有効なパラメータ値については、このクラスの先頭部分の説明と、「Java 暗号化アーキテクチャー API の仕様およびリファレンス」を参照してください。セキュリティープロバイダは、このメソッドをオーバーライドすることで独自の判定ロジックを実装できます。
parameter
- 判定対象のパラメータInvalidParameterException
- パラメータの値がこのサービスタイプに対して無効である場合、またはこのメソッドがこのサービスタイプで使用できない場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.