- すべての実装されたインタフェース:
- Serializable,- Cloneable,- Map<Object,Object>
- 直系の既知のサブクラス:
- AuthProvider
public abstract class Provider extends Properties
- アルゴリズム(DSA、RSA、またはSHA-256など)。
- キーの生成、変換、および管理機能(アルゴリズム固有キーなど)
プロバイダ実装によっては、セキュリティ・トークンとの通信エラーなどの、処理中に復旧できない内部エラーが発生する可能性があります。 そのようなエラーを通知するにはProviderExceptionを使用してください。 
 
プロバイダは、プラガブル・アーキテクチャを使用するJavaのセキュリティ・サービスを実装するのに使用でき、その下に適合する実装を選択できることに注意してください。
サービス・タイプProviderはセキュリティ・フレームワーク用に予約されています。 このタイプのサービスをアプリケーションから追加、削除、または変更することはできません。 各Providerオブジェクト内には次の属性が自動的に格納されます。 
 
| 名前 | 値 | 
|---|---|
| Provider.id name | String.valueOf(provider.getName()) | 
| Provider.id version | String.valueOf(provider.getVersionStr()) | 
| Provider.id info | String.valueOf(provider.getInfo()) | 
| Provider.id className | provider.getClass().getName() | 
各プロバイダには名前とバージョン文字列があります。 プロバイダは、通常、リソース・ディレクトリMETA-INF/services内のjava.security.Providerという名前のファイルで自身を識別します。 セキュリティ・プロバイダは、application class loaderを使用してServiceLoaderメカニズムを介して検索されます。 
 
プロバイダは、自動的にインストールされ、Security.getProviders()メソッドを介して実行時に利用可能になるように構成することができます。 セキュリティ・プロバイダの構成とインストールの仕組みは実装固有のものです。 
- 実装上のノート:
- JDK実装は、Javaインストール・ディレクトリのconf/security/java.securityファイルを介してセキュリティ・プロバイダの静的登録をサポートします。 これらのプロバイダは、JDKランタイムによって自動的にインストールされます。特定のタイプのプロバイダ(暗号化サービス・プロバイダ)がどのように動作し、インストールされているかについては、Java暗号化アーキテクチャ・リファレンス・ガイド(JCA)リファレンス・ガイドの「プロバイダ・クラス」を参照してください。
- 導入されたバージョン:
- 1.1
- 関連項目:
- 直列化された形式
- 
ネストされたクラスのサマリーネストされたクラス 修飾子と型 クラス 説明 static classProvider.Service特定のセキュリティ・サービスを記述したものです。
- 
フィールドのサマリー
- 
コンストラクタのサマリー
- 
メソッドのサマリー修飾子と型 メソッド 説明 voidclear()このプロバイダをクリアして、プロバイダが実装した機能を検索するときに使うプロパティを含まないようにします。Objectcompute(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)指定されたキーと現在マップされている値に対するマッピングの計算を試みます(現在のマッピングが存在しない場合はnull)。ObjectcomputeIfAbsent(Object key, Function<? super Object,? extends Object> mappingFunction)指定されたキーがまだ値に関連付けられていない(またはnullにマップされている)場合、指定されたマッピング関数を使用してその値の計算を試行し、nullでない場合はそれをこのマップに入力します。ObjectcomputeIfPresent(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)指定されたキーの値が存在していてnull以外の場合、キーと現在マップされている値から新しいマッピングの計算を試みます。Providerconfigure(String configArg)指定された構成引数をこのプロバイダ・インスタンスに適用し、構成されたプロバイダを返します。Set<Map.Entry<Object,Object>>entrySet()このプロバイダに含まれるプロパティ・エントリの変更不可能なSetのビューを返します。voidforEach(BiConsumer<? super Object,? super Object> action)このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。StringgetInfo()プロバイダとそのサービス内容を、人間が読める形式で返します。StringgetName()このプロバイダの名前を返します。ObjectgetOrDefault(Object key, Object defaultValue)指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はdefaultValueを返します。Provider.ServicegetService(String type, String algorithm)指定されたタイプの指定されたアルゴリズムまたは別名に対するこのProviderの実装を記述したサービスを取得します。Set<Provider.Service>getServices()このProviderがサポートするすべてのサービスの変更不可能なSetを取得します。doublegetVersion()Deprecated.代わりにgetVersionStr()を使用してください。StringgetVersionStr()このプロバイダのバージョン文字列を返します。booleanisConfigured()このプロバイダ・インスタンスが構成されているかどうかを確認します。Set<Object>keySet()このプロバイダに含まれるプロパティ・キーの変更不可能なSetのビューを返します。voidload(InputStream inStream)入力ストリームからキーと要素が対になったプロパティ・リストを読み込みます。Objectmerge(Object key, Object value, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)指定されたキーがまだ値と関連付けられていないかnullと関連付けられている場合、指定された値に関連付けます。Objectput(Object key, Object value)keyプロパティが、指定されたvalueを持つように設定します。voidputAll(Map<?,?> t)指定されたMapからこのプロバイダへすべてのマッピングをコピーします。ObjectputIfAbsent(Object key, Object value)指定されたキーがまだ値に関連付けられていない(または、nullにマップされている)場合は、それを指定された値に関連付けてnullを返します。それ以外の場合は、現在の値を返します。protected voidputService(Provider.Service s)サービスを追加します。Objectremove(Object key)keyプロパティとそれに対応するvalueを削除します。booleanremove(Object key, Object value)指定された値に指定されたキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。protected voidremoveService(Provider.Service s)以前にputService()を使用して追加されたサービスを削除します。Objectreplace(Object key, Object value)指定されたキーがなんらかの値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。booleanreplace(Object key, Object oldValue, Object newValue)指定されたキーが指定された値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。voidreplaceAll(BiFunction<? super Object,? super Object,? extends Object> function)すべてのエントリが処理されるか、または関数が例外をスローするまで、エントリ・セット・イテレータによってエントリが返される順に、各エントリの値を、そのエントリで指定された関数を呼び出した結果で置換します。StringtoString()このプロバイダの名前とバージョン文字列を返します。Collection<Object>values()このプロバイダに含まれるプロパティ値の変更不可能なCollectionのビューを返します。クラス java.util.Propertiesで宣言されたメソッドgetProperty, getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, storeToXML, stringPropertyNames
- 
コンストラクタの詳細- 
Provider@Deprecated(since="9")protected Provider(String name, double version, String info)Deprecated.代わりにProvider(String, String, String)を使用してください。指定された名前、バージョン番号、および情報を使用してプロバイダを構築します。 このコンストラクタを呼び出すことは、nameの名前、Double.toString(version)、およびinfoを使用してProvider(String, String, String)を呼び出すことと同じです。- パラメータ:
- name- プロバイダの名前。
- version- プロバイダのバージョン番号。
- info- プロバイダとそのサービスの記述。
 
- 
Provider指定された名前、バージョン文字列、および情報を持つプロバイダを構築します。バージョン文字列には、'+'、'-'のいずれかの文字で区切られた別の情報が後に続くバージョン番号が含まれます。 バージョン番号の形式は次のとおりです: ^[0-9]+(\.[0-9]+)*ダブルでバージョン番号を返すために、2つ以上のコンポーネント(上記で定義した'.'で区切られます)がある場合、最初の2つのコンポーネントだけが保持されます。 結果の文字列は Double.valueOf(String)に渡され、バージョン番号、すなわちgetVersion()が生成されます。変換に失敗した場合は、値0が使用されます。 - パラメータ:
- name- プロバイダの名前。
- versionStr- プロバイダのバージョン文字列。
- info- プロバイダとそのサービスの記述。
- 導入されたバージョン:
- 9
 
 
- 
- 
メソッドの詳細- 
configure指定された構成引数をこのプロバイダ・インスタンスに適用し、構成されたプロバイダを返します。 このプロバイダをインプレースで構成できない場合、新しいプロバイダが作成されて返されることに注意してください。 したがって、呼び出し元は返されたプロバイダを常に使用する必要があります。- 実装要件:
- デフォルト実装はUnsupportedOperationExceptionをスローします。 サブクラスは、構成引数がサポートされている場合にのみ、このメソッドをオーバーライドする必要があります。
- パラメータ:
- configArg- このプロバイダを構成するための構成情報。
- 戻り値:
- 提供された構成引数で構成されたプロバイダ。
- 例外:
- UnsupportedOperationException- 構成引数がサポートされていない場合。
- NullPointerException- 指定された構成引数がnullの場合。
- InvalidParameterException- 指定された構成引数が無効な場合。
- 導入されたバージョン:
- 9
 
- 
isConfiguredpublic boolean isConfigured()このプロバイダ・インスタンスが構成されているかどうかを確認します。- 実装要件:
- デフォルトの実装ではtrueを返します。 プロバイダ・インスタンスが構築後に明示的なconfigureコールを必要とする場合、サブクラスはこのメソッドをオーバーライドする必要があります。
- 戻り値:
- 詳細な構成が必要ない場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 9
 
- 
getNamepublic String getName()このプロバイダの名前を返します。- 戻り値:
- このプロバイダの名前。
 
- 
getVersion@Deprecated(since="9") public double getVersion()Deprecated.代わりにgetVersionStr()を使用してください。このプロバイダのバージョン番号を返します。- 戻り値:
- このプロバイダのバージョン番号。
 
- 
getVersionStrpublic String getVersionStr()このプロバイダのバージョン文字列を返します。- 戻り値:
- このプロバイダのバージョン文字列。
- 導入されたバージョン:
- 9
 
- 
getInfopublic String getInfo()プロバイダとそのサービス内容を、人間が読める形式で返します。 関連するリンクを持つHTMLページを返すこともあります。- 戻り値:
- プロバイダとそのサービスの記述。
 
- 
toStringpublic String toString()このプロバイダの名前とバージョン文字列を返します。
- 
clearpublic void clear()このプロバイダをクリアして、プロバイダが実装した機能を検索するときに使うプロパティを含まないようにします。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"clearProviderProperties."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダをクリアしてもよいかどうかが確認されます。- 定義:
- インタフェースMap<Object,Object>内のclear
- オーバーライド:
- クラスHashtable<Object,Object>のclear
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがこのプロバイダをクリアするアクセスを許可しない場合
- 導入されたバージョン:
- 1.2
 
- 
loadpublic void load(InputStream inStream) throws IOException入力ストリームからキーと要素が対になったプロパティ・リストを読み込みます。- オーバーライド:
- load、クラス:- Properties
- パラメータ:
- inStream- 入力ストリーム。
- 例外:
- IOException- 入力ストリームからの読込み中にエラーが発生した場合。
- 関連項目:
- Properties.load(java.io.Reader)
 
- 
putAllpublic void putAll(Map<?,?> t)指定されたMapからこのプロバイダへすべてのマッピングをコピーします。 これらのマッピングは、指定されたMap内に存在するすべてのキーに対応するプロパティを、このプロバイダが持っているプロパティと置き換えます。
- 
entrySetこのプロバイダに含まれるプロパティ・エントリの変更不可能なSetのビューを返します。
- 
keySetこのプロバイダに含まれるプロパティ・キーの変更不可能なSetのビューを返します。
- 
valuespublic Collection<Object> values()このプロバイダに含まれるプロパティ値の変更不可能なCollectionのビューを返します。
- 
putkeyプロパティが、指定されたvalueを持つように設定します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"putProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。- 定義:
- インタフェースMap<Object,Object>内のput
- オーバーライド:
- クラスHashtable<Object,Object>のput
- パラメータ:
- key- ハッシュ表キー
- value- 値
- 戻り値:
- ハッシュ表の指定されたキーの前の値。それがない場合はnull
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。
- 導入されたバージョン:
- 1.2
- 関連項目:
- Object.equals(Object),- Hashtable.get(Object)
 
- 
putIfAbsent指定されたキーがまだ値に関連付けられていない(または、nullにマップされている)場合は、それを指定された値に関連付けてnullを返します。それ以外の場合は、現在の値を返します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"putProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。- パラメータ:
- key- 指定された値が関連付けられるキー
- value- 指定されたキーに関連付けられる値
- 戻り値:
- 指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合はnull。 (また、実装がnull値をサポートしている場合、戻り値nullは、以前にマップでキーとnullが関連付けられていたことを示す場合もある。)
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。
- 導入されたバージョン:
- 1.8
 
- 
removekeyプロパティとそれに対応するvalueを削除します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"removeProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティを削除してもよいかどうかが確認されます。- 定義:
- インタフェースMap<Object,Object>内のremove
- オーバーライド:
- クラスHashtable<Object,Object>のremove
- パラメータ:
- key- 削除するキー
- 戻り値:
- ハッシュ表でそのキーにマップされている値。マップされている値がない場合はnull
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがこのプロバイダのプロパティを削除するアクセスを許可しない場合。
- 導入されたバージョン:
- 1.2
 
- 
remove指定された値に指定されたキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"removeProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティを削除してもよいかどうかが確認されます。- パラメータ:
- key- 指定された値が関連付けられるキー
- value- 指定されたキーに関連付けられていると予想される値
- 戻り値:
- 値が削除された場合はtrue
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがこのプロバイダのプロパティを削除するアクセスを許可しない場合。
- 導入されたバージョン:
- 1.8
 
- 
replace指定されたキーが指定された値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"putProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。- パラメータ:
- key- 指定された値が関連付けられるキー
- oldValue- 指定されたキーに関連付けられていると予想される値
- newValue- 指定されたキーに関連付けられる値
- 戻り値:
- 値が置換された場合はtrue
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。
- 導入されたバージョン:
- 1.8
 
- 
replace指定されたキーがなんらかの値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"putProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。- パラメータ:
- key- 指定された値が関連付けられるキー
- value- 指定されたキーに関連付けられる値
- 戻り値:
- 指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合はnull。 (また、実装がnull値をサポートしている場合、戻り値nullは、以前にマップでキーとnullが関連付けられていたことを示す場合もある。)
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。
- 導入されたバージョン:
- 1.8
 
- 
replaceAllpublic void replaceAll(BiFunction<? super Object,? super Object,? extends Object> function)すべてのエントリが処理されるか、または関数が例外をスローするまで、エントリ・セット・イテレータによってエントリが返される順に、各エントリの値を、そのエントリで指定された関数を呼び出した結果で置換します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"putProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。- パラメータ:
- function- 各エントリに適用する関数
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。
- 導入されたバージョン:
- 1.8
 
- 
computepublic Object compute(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)指定されたキーと現在マップされている値に対するマッピングの計算を試みます(現在のマッピングが存在しない場合はnull)。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"putProviderProperty."+nameおよび"removeProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。- 定義:
- インタフェースMap<Object,Object>内のcompute
- オーバーライド:
- クラスHashtable<Object,Object>のcompute
- パラメータ:
- key- 指定された値が関連付けられるキー
- remappingFunction- 値をコンピュートするための再マップ関数
- 戻り値:
- 指定されたキーに関連付けられる新しい値。存在しない場合はnull
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値の設定またはプロパティの削除を行うアクセスを許可しない場合。
- 導入されたバージョン:
- 1.8
 
- 
computeIfAbsentpublic Object computeIfAbsent(Object key, Function<? super Object,? extends Object> mappingFunction)指定されたキーがまだ値に関連付けられていない(またはnullにマップされている)場合、指定されたマッピング関数を使用してその値の計算を試行し、nullでない場合はそれをこのマップに入力します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"putProviderProperty."+nameおよび"removeProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。- 定義:
- インタフェースMap<Object,Object>内のcomputeIfAbsent
- オーバーライド:
- クラスHashtable<Object,Object>のcomputeIfAbsent
- パラメータ:
- key- 指定された値が関連付けられるキー
- mappingFunction- 値をコンピュートするマッピング関数
- 戻り値:
- 指定されたキーに関連付けられている現在の(既存の、または計算された)値。計算された値がnullである場合はnull
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値の設定およびプロパティの削除を行うアクセスを許可しない場合。
- 導入されたバージョン:
- 1.8
 
- 
computeIfPresentpublic Object computeIfPresent(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)指定されたキーの値が存在していてnull以外の場合、キーと現在マップされている値から新しいマッピングの計算を試みます。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"putProviderProperty."+nameおよび"removeProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。- 定義:
- インタフェースMap<Object,Object>内のcomputeIfPresent
- オーバーライド:
- クラスHashtable<Object,Object>のcomputeIfPresent
- パラメータ:
- key- 指定された値が関連付けられるキー
- remappingFunction- 値をコンピュートするための再マップ関数
- 戻り値:
- 指定されたキーに関連付けられる新しい値。存在しない場合はnull
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値の設定またはプロパティの削除を行うアクセスを許可しない場合。
- 導入されたバージョン:
- 1.8
 
- 
mergepublic Object merge(Object key, Object value, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)指定されたキーがまだ値と関連付けられていないかnullと関連付けられている場合、指定された値に関連付けます。 それ以外の場合は、指定された再マッピング関数の結果で値を置換し、結果がnullの場合は削除します。 このメソッドは、1つのキーに対する複数のマップされた値を結合するときに使用できます。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"putProviderProperty."+nameおよび"removeProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。- 定義:
- インタフェースMap<Object,Object>内のmerge
- オーバーライド:
- クラスHashtable<Object,Object>のmerge
- パラメータ:
- key- 結果値が関連付けられるキー
- value- キーに関連付けられた既存の値にマージされるnull以外の値。既存の値がない場合、またはキーにnull値が関連付けられている場合は、キーに関連付けられるnull以外の値
- remappingFunction- 存在する場合に値を再計算するための再マッピング関数
- 戻り値:
- 指定されたキーに関連付けられた新しい値。キーに値が関連付けられなかった場合はnull
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値の設定またはプロパティの削除を行うアクセスを許可しない場合。
- 導入されたバージョン:
- 1.8
 
- 
getOrDefaultインタフェースからコピーされた説明:Map指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はdefaultValueを返します。- パラメータ:
- key- 関連付けられた値が返されるキー
- defaultValue- キーのデフォルト・マッピング
- 戻り値:
- 指定されたキーがマップされている値。このマップにそのキーのマッピングが含まれていない場合はdefaultValue
- 導入されたバージョン:
- 1.8
 
- 
forEachpublic void forEach(BiConsumer<? super Object,? super Object> action)インタフェースからコピーされた説明:Mapこのマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。 実装クラスで指定されない場合は、エントリ・セットの反復の順序でアクションが実行されます(反復順序が指定されている場合)。 アクションによってスローされた例外は、呼出し側に中継されます。- パラメータ:
- action- 各エントリに対して実行されるアクション
- 導入されたバージョン:
- 1.8
 
- 
getServicepublic Provider.Service getService(String type, String algorithm)指定されたタイプの指定されたアルゴリズムまたは別名に対するこのProviderの実装を記述したサービスを取得します。 そのような実装が存在しない場合、このメソッドはnullを返します。 条件に一致するサービスとして、putService()を使用してこのプロバイダに追加されたものと、put()経由で追加されたものの2つが見つかった場合、putService()経由で追加されたサービスが返されます。- パラメータ:
- type- 要求される- serviceのタイプ(- MessageDigestなど)
- algorithm- 要求されるサービスのアルゴリズム名または別名(- SHA-1など)。大文字と小文字は区別される
- 戻り値:
- このProviderの条件に一致するサービスを記述したサービス。そのようなサービスが存在しない場合はnull
- 例外:
- NullPointerException- type、algorithmのいずれかがnullである場合
- 導入されたバージョン:
- 1.5
 
- 
getServicespublic Set<Provider.Service> getServices()このProviderがサポートするすべてのサービスの変更不可能なSetを取得します。- 戻り値:
- このProviderがサポートするすべてのサービスの変更不可能なSet
- 導入されたバージョン:
- 1.5
 
- 
putServiceprotected void putService(Provider.Service s)サービスを追加します。 同じタイプとアルゴリズム名を持つサービスがすでに存在しており、それがputService()を使用して追加されていた場合、そのサービスは新しいサービスで置換されます。 このメソッドは、このサービスに関する情報を、プロバイダのHashtable値に、「Java暗号化アーキテクチャ(JCA)リファレンス・ガイド」で説明されている形式で格納します。また、セキュリティ・マネージャが存在する場合、セキュリティ・マネージャの checkSecurityAccessメソッドが引数として"putProviderProperty."+name(nameはプロバイダの名前)という文字列を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかを確認します。checkSecurityAccessのデフォルトの実装が(つまり、そのメソッドはオーバーライドされません。)を使用する場合は、checkPermissionメソッドがSecurityPermission("putProviderProperty."+name)権限を持つセキュリティ・マネージャcheckPermissionメソッドが呼び出されます。- パラメータ:
- s- 追加するサービス
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。
- NullPointerException- sがnullの場合
- 導入されたバージョン:
- 1.5
 
- 
removeServiceprotected void removeService(Provider.Service s)以前にputService()を使用して追加されたサービスを削除します。 指定されたサービスは、このプロバイダから削除されます。 これはgetService()を呼び出しても返されなくなり、このプロバイダのHashtableからその情報が削除されます。また、セキュリティ・マネージャが存在する場合、セキュリティ・マネージャの checkSecurityAccessメソッドが文字列"removeProviderProperty."+name(nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を削除してもよいかどうかが確認されます。checkSecurityAccessのデフォルトの実装が(つまり、そのメソッドはオーバーライドされません。)を使用する場合は、checkPermissionメソッドがSecurityPermission("removeProviderProperty."+name)権限を持つセキュリティ・マネージャcheckPermissionメソッドが呼び出されます。- パラメータ:
- s- 削除されるサービス
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- SecurityManager.checkSecurityAccess(java.lang.String)メソッドがこのプロバイダのプロパティを削除するアクセスを許可しない場合。
- NullPointerException- sがnullの場合
- 導入されたバージョン:
- 1.5
 
 
-