public static class Provider.Service extends Object
各サービスは、そのサービスを提供するプロバイダ、タイプ、アルゴリズム名、およびそのサービスを実装するクラス名を含みます。また、このサービス(別名)および属性に対する代替アルゴリズム名の一覧を持っています。この一覧は、名前と値のStringペアのマップです。
このクラスに定義されているsupportsParameter()
とnewInstance()
メソッドは、Javaセキュリティ・フレームワークが条件に合致するサービスを検索してインスタンス化する際に使用されます。これらのメソッドに対する有効な引数は、サービスのタイプごとに異なります。Java SEで定義されているサービス・タイプについては、「Java暗号化アーキテクチャAPIの仕様およびリファレンス」を参照してください。Java SEの外部のコンポーネントでは、その他のサービス・タイプおよびその動作を定義することができます。
このクラスのインスタンスは不変です。
コンストラクタと説明 |
---|
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 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, 2014, Oracle and/or its affiliates. All rights reserved.