モジュール java.base
パッケージ java.security

クラスProvider.Service

  • 含まれているクラス:
    Provider

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

    各サービスは、そのサービスを提供するプロバイダ、タイプ、アルゴリズム名、およびそのサービスを実装するクラス名を含みます。 また、オプションでこのサービス(別名)および属性に対する代替アルゴリズム名の一覧が含まれます。この一覧は、名前と値の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)
        指定された属性の値を返します。その属性がこの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 - パラメータの値がこのサービス・タイプに対して無効である場合、またはこのメソッドがこのサービス・タイプで使用できない場合
      • toString

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