JavaTM Platform
Standard Ed. 6

java.security
クラス Provider.Service

java.lang.Object
  上位を拡張 java.security.Provider.Service
含まれているクラス:
Provider

public static class Provider.Service
extends Object

特定のセキュリティーサービスを記述したものです。このクラスには、特定のサービスのプロパティーがカプセル化されるほか、そのサービスの新しい実装インスタンスを取得するためのファクトリメソッドが含まれます。  

各サービスは、そのサービスを提供するプロバイダ、タイプ、アルゴリズム名、およびそのサービスを実装するクラス名を含みます。また、このサービス (別名) および属性に対する代替アルゴリズム名の一覧を持っています。 この一覧は、名前と値の String ペアのマップです。  

このクラスに定義されている supportsParameter()newInstance() メソッドは、Java セキュリティーフレームワークが条件に合致するサービスを検索してインスタンス化する際に使用されます。これらのメソッドに対する有効な引数は、サービスのタイプごとに異なります。Java SE で定義されているサービスタイプについては、「Java 暗号化アーキテクチャー API の仕様およびリファレンス」を参照してください。Java SE の外部のコンポーネントでは、その他のサービスタイプおよびその動作を定義することができます。  

このクラスのインスタンスは不変です。

導入されたバージョン:
1.5

コンストラクタの概要
Provider.Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)
          新しいサービスを構築します。
 
メソッドの概要
 String getAlgorithm()
          このサービスのアルゴリズム名 (SHA-1 など) を返します。
 String getAttribute(String name)
          指定された属性の値を返します。
 String getClassName()
          このサービスを実装するクラスの名前を返します。
 Provider getProvider()
          このサービスの Provider を返します。
 String getType()
          このサービスのタイプ (MessageDigest など) を取得します。
 Object newInstance(Object constructorParameter)
          このサービスが記述する実装の新しいインスタンスを返します。
 boolean supportsParameter(Object parameter)
          この Service が指定されたパラメータを使用できるかどうかを判定します。
 String toString()
          このサービスの String 表現を返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

Provider.Service

public Provider.Service(Provider provider,
                        String type,
                        String algorithm,
                        String className,
                        List<String> aliases,
                        Map<String,String> attributes)
新しいサービスを構築します。

パラメータ:
provider - このサービスを提供するプロバイダ
type - このサービスのタイプ
algorithm - アルゴリズム名
className - このサービスを実装するクラスの名前
aliases - 別名のリスト。 アルゴリズムの別名が存在しない場合は null
attributes - 属性マップ。この実装に属性が含まれていない場合は 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 - 名前が null の場合

newInstance

public Object newInstance(Object constructorParameter)
                   throws NoSuchAlgorithmException
このサービスが記述する実装の新しいインスタンスを返します。セキュリティープロバイダフレームワークは、このメソッドを使って実装の構築を行います。通常の場合、アプリケーションからこのメソッドを呼び出す必要はありません。  

デフォルト実装は、リフレクションを使ってこのサービスタイプに対する標準のコンストラクタを呼び出します。セキュリティープロバイダは、このメソッドをオーバーライドすることで、インスタンス化を別の方法で実装できます。さまざまなサービスタイプの詳細や有効な constructorParameter 値については、「Java 暗号化アーキテクチャー API の仕様およびリファレンス」を参照してください。

パラメータ:
constructorParameter - コンストラクタに渡す値。 このサービスタイプが constructorParameter を使用しない場合は null
戻り値:
このサービスの新しい実装
例外:
InvalidParameterException - constructorParameter の値がこのサービスタイプに対して無効である場合
NoSuchAlgorithmException - なんらかの理由でインスタンス化が失敗した場合

supportsParameter

public boolean supportsParameter(Object parameter)
この Service が指定されたパラメータを使用できるかどうかを判定します。このサービスがそのパラメータを使用できない場合は false を返します。このサービスがそのパラメータを使用できる場合、高速な判定が実行不可能である場合、あるいは状態が不明である場合には true を返します。  

セキュリティープロバイダフレームワークは、一部のサービスタイプでこのメソッドを使用することで、条件に合致しない実装を処理対象からすばやく除外します。通常の場合、アプリケーションからこのメソッドを呼び出す必要はありません。  

さまざまなサービスタイプの詳細や有効なパラメータ値については、このクラスの先頭部分の説明と、「Java 暗号化アーキテクチャー API の仕様およびリファレンス」を参照してください。セキュリティープロバイダは、このメソッドをオーバーライドすることで独自の判定ロジックを実装できます。

パラメータ:
parameter - 判定対象のパラメータ
戻り値:
このサービスが指定されたパラメータを使用できない場合は false、このサービスがそのパラメータを使用できる可能性がある場合は true
例外:
InvalidParameterException - パラメータの値がこのサービスタイプに対して無効である場合、またはこのメソッドがこのサービスタイプで使用できない場合

toString

public String toString()
このサービスの String 表現を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
このサービスの String 表現

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。