クラスProvider.Service

java.lang.Object
java.security.Provider.Service
含まれているクラス:
Provider

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

各サービスは、そのサービスを提供するプロバイダ、タイプ、アルゴリズム名、およびそのサービスを実装するクラス名を含みます。 オプションで、このサービス(aliases)および属性((名前、値) Stringペアのマップ)の代替アルゴリズム名のリストも含まれます。

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

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

導入されたバージョン:
1.5
  • コンストラクタの詳細

    • Service

      public 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)
      指定された属性の値を返すか、このサービスに対してこの属性が設定されていない場合は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 - パラメータの値がこのサービス・タイプに対して無効である場合、またはこのメソッドがこのサービス・タイプで使用できない場合
    • toString

      public String toString()
      このサービスのString表現を返します。
      オーバーライド:
      toString、クラスObject
      戻り値:
      このサービスのString表現。