public abstract class Provider extends Properties
各プロバイダには名前とバージョン番号があり、インストールされているランタイム・クラスごとに構成されます。
プロバイダの特定の型、暗号化サービス・プロバイダの処理およびインストール方法については、「Java暗号化アーキテクチャAPI仕様リファレンス」の「Provider Class」を参照してください。 その際、プロバイダが下層に適した実装を選択して、プラガブルなアーキテクチャを使用していると、Javaのどのセキュリティ・サービスの実装にも使用できます。
プロバイダ実装によっては、セキュリティ・トークンとの通信エラーなどの、処理中に復旧できない内部エラーが発生する可能性があります。 そのようなエラーを通知するにはProviderExceptionを使用してください。
サービス・タイプProviderはセキュリティ・フレームワーク用に予約されています。 このタイプのサービスをアプリケーションから追加、削除、または変更することはできません。 各Providerオブジェクト内には次の属性が自動的に格納されます。
| 名前 | 値 |
|---|---|
Provider.id name |
String.valueOf(provider.getName()) |
Provider.id version |
String.valueOf(provider.getVersion()) |
Provider.id info |
String.valueOf(provider.getInfo()) |
Provider.id className |
provider.getClass().getName() |
| 修飾子と型 | クラス | 説明 |
|---|---|---|
static class |
Provider.Service |
特定のセキュリティ・サービスを記述したものです。
|
defaults| 修飾子 | コンストラクタ | 説明 |
|---|---|---|
protected |
Provider(String name, double version, String info) |
指定された名前、バージョン番号、および情報を使用してプロバイダを構築します。
|
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
void |
clear() |
このプロバイダをクリアして、プロバイダが実装した機能を検索するときに使うプロパティを含まないようにします。
|
Object |
compute(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction) |
指定されたキーと現在マップされている値に対するマッピングの計算を試みます(現在のマッピングが存在しない場合は
null)。 |
Object |
computeIfAbsent(Object key, Function<? super Object,? extends Object> mappingFunction) |
指定されたキーがまだ値に関連付けられていない(または
nullにマップされている)場合、指定されたマッピング関数を使用してその値の計算を試行し、nullでない場合はそれをこのマップに入力します。 |
Object |
computeIfPresent(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction) |
指定されたキーの値が存在していてnull以外の場合、キーと現在マップされている値から新しいマッピングの計算を試みます。
|
Enumeration<Object> |
elements() |
ハッシュ表にある値のリストを返します。
|
Set<Map.Entry<Object,Object>> |
entrySet() |
このプロバイダに含まれるプロパティ・エントリの変更不可能なSetのビューを返します。
|
void |
forEach(BiConsumer<? super Object,? super Object> action) |
このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。
|
Object |
get(Object key) |
指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合は
nullを返します。 |
String |
getInfo() |
プロバイダとそのサービス内容を、人間が読める形式で返します。
|
String |
getName() |
このプロバイダの名前を返します。
|
Object |
getOrDefault(Object key, Object defaultValue) |
指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合は
defaultValueを返します。 |
String |
getProperty(String key) |
指定されたキーを持つプロパティを、プロパティ・リストから探します。
|
Provider.Service |
getService(String type, String algorithm) |
指定されたタイプの指定されたアルゴリズムまたは別名に対するこのProviderの実装を記述したサービスを取得します。
|
Set<Provider.Service> |
getServices() |
このProviderがサポートするすべてのサービスの変更不可能なSetを取得します。
|
double |
getVersion() |
このプロバイダのバージョン番号を返します。
|
Enumeration<Object> |
keys() |
ハッシュ表にあるキーのリストを返します。
|
Set<Object> |
keySet() |
このプロバイダに含まれるプロパティ・キーの変更不可能なSetのビューを返します。
|
void |
load(InputStream inStream) |
入力ストリームからキーと要素が対になったプロパティ・リストを読み込みます。
|
Object |
merge(Object key, Object value, BiFunction<? super Object,? super Object,? extends Object> remappingFunction) |
指定されたキーがまだ値と関連付けられていないかnullと関連付けられている場合、指定された値に関連付けます。
|
Object |
put(Object key, Object value) |
keyプロパティが、指定されたvalueを持つように設定します。 |
void |
putAll(Map<?,?> t) |
指定されたMapからこのプロバイダへすべてのマッピングをコピーします。
|
Object |
putIfAbsent(Object key, Object value) |
指定されたキーがまだ値に関連付けられていない(または、
nullにマップされている)場合は、それを指定された値に関連付けてnullを返します。それ以外の場合は、現在の値を返します。 |
protected void |
putService(Provider.Service s) |
サービスを追加します。
|
Object |
remove(Object key) |
keyプロパティとそれに対応するvalueを削除します。 |
boolean |
remove(Object key, Object value) |
指定された値に指定されたキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。
|
protected void |
removeService(Provider.Service s) |
以前に
putService()を使用して追加されたサービスを削除します。 |
Object |
replace(Object key, Object value) |
指定されたキーがなんらかの値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。
|
boolean |
replace(Object key, Object oldValue, Object newValue) |
指定されたキーが指定された値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。
|
void |
replaceAll(BiFunction<? super Object,? super Object,? extends Object> function) |
すべてのエントリが処理されるか、または関数が例外をスローするまで、エントリ・セット・イテレータによってエントリが返される順に、各エントリの値を、そのエントリで指定された関数を呼び出した結果で置換します。
|
String |
toString() |
このプロバイダの名前とバージョン番号を文字列で返します。
|
Collection<Object> |
values() |
このプロバイダに含まれるプロパティ値の変更不可能なCollectionのビューを返します。
|
getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNamesclone, contains, containsKey, containsValue, equals, hashCode, isEmpty, rehash, sizepublic String getName()
public double getVersion()
public String getInfo()
public String toString()
public void clear()
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"clearProviderProperties."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダをクリアしてもよいかどうかが確認されます。
clear、インタフェースMap<Object,Object>clear、クラスHashtable<Object,Object>SecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがこのプロバイダをクリアするアクセスを許可しない場合public void load(InputStream inStream) throws IOException
load、クラスPropertiesinStream - 入力ストリーム。IOException - 入力ストリームからの読込み中にエラーが発生した場合。Properties.load(java.io.Reader)public void putAll(Map<?,?> t)
public Collection<Object> values()
public Object put(Object key, Object value)
keyプロパティが、指定されたvalueを持つように設定します。
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"putProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。
put、インタフェースMap<Object,Object>put、クラスHashtable<Object,Object>key - ハッシュ表キーvalue - 値nullSecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。Object.equals(Object), Hashtable.get(Object)public Object putIfAbsent(Object key, Object value)
nullにマップされている)場合は、それを指定された値に関連付けてnullを返します。それ以外の場合は、現在の値を返します。
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"putProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。
putIfAbsent、インタフェースMap<Object,Object>putIfAbsent、クラスHashtable<Object,Object>key - 指定された値が関連付けられるキーvalue - 指定されたキーに関連付けられる値null。 (また、実装がnull値をサポートしている場合、戻り値nullは、以前にマップでキーとnullが関連付けられていたことを示す場合もある。) SecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。public Object remove(Object key)
keyプロパティとそれに対応するvalueを削除します。
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"removeProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティを削除してもよいかどうかが確認されます。
remove、インタフェースMap<Object,Object>remove、クラスHashtable<Object,Object>key - 削除するキーnullSecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがこのプロバイダのプロパティを削除するアクセスを許可しない場合。public boolean remove(Object key, Object value)
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"removeProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティを削除してもよいかどうかが確認されます。
remove、インタフェースMap<Object,Object>remove、クラスHashtable<Object,Object>key - 指定された値が関連付けられるキーvalue - 指定されたキーに関連付けられていると予想される値trueSecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがこのプロバイダのプロパティを削除するアクセスを許可しない場合。public boolean replace(Object key, Object oldValue, Object newValue)
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"putProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。
replace、インタフェースMap<Object,Object>replace、クラスHashtable<Object,Object>key - 指定された値が関連付けられるキーoldValue - 指定されたキーに関連付けられていると予想される値newValue - 指定されたキーに関連付けられる値trueSecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。public Object replace(Object key, Object value)
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"putProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。
replace、インタフェースMap<Object,Object>replace、クラスHashtable<Object,Object>key - 指定された値が関連付けられるキーvalue - 指定されたキーに関連付けられる値null。 (また、実装がnull値をサポートしている場合、戻り値nullは、以前にマップでキーとnullが関連付けられていたことを示す場合もある。) SecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。public void replaceAll(BiFunction<? super Object,? super Object,? extends Object> function)
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"putProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。
replaceAll、インタフェースMap<Object,Object>replaceAll、クラスHashtable<Object,Object>function - 各エントリに適用する関数SecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。public Object compute(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)
null)。
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"putProviderProperty."+nameおよび"removeProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。
compute、インタフェースMap<Object,Object>compute、クラスHashtable<Object,Object>key - 指定された値が関連付けられるキーremappingFunction - 値を計算するための関数SecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値の設定またはプロパティの削除を行うアクセスを許可しない場合。public Object computeIfAbsent(Object key, Function<? super Object,? extends Object> mappingFunction)
nullにマップされている)場合、指定されたマッピング関数を使用してその値の計算を試行し、nullでない場合はそれをこのマップに入力します。
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"putProviderProperty."+nameおよび"removeProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。
computeIfAbsent、インタフェースMap<Object,Object>computeIfAbsent、クラスHashtable<Object,Object>key - 指定された値が関連付けられるキーmappingFunction - 値を計算するための関数SecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値の設定およびプロパティの削除を行うアクセスを許可しない場合。public Object computeIfPresent(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"putProviderProperty."+nameおよび"removeProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。
computeIfPresent、インタフェースMap<Object,Object>computeIfPresent、クラスHashtable<Object,Object>key - 指定された値が関連付けられるキーremappingFunction - 値を計算するための関数SecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値の設定またはプロパティの削除を行うアクセスを許可しない場合。public Object merge(Object key, Object value, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)
セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"putProviderProperty."+nameおよび"removeProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値の設定とこのプロバイダのプロパティの削除を行ってもよいかどうかが確認されます。
merge、インタフェースMap<Object,Object>merge、クラスHashtable<Object,Object>key - 結果値が関連付けられるキーvalue - キーに関連付けられた既存の値にマージされるnull以外の値。既存の値がない場合、またはキーにnull値が関連付けられている場合は、キーに関連付けられるnull以外の値remappingFunction - 値が存在する場合に値を再計算するための関数SecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値の設定またはプロパティの削除を行うアクセスを許可しない場合。public Object get(Object key)
Hashtablenullを返します。
つまり、このメソッドは、(key.equals(k))となるキーkから値vへのマッピングがこのマップに含まれている場合はvを返し、それ以外の場合はnullを返します。 このようなマッピングが1つだけあります。
public Object getOrDefault(Object key, Object defaultValue)
MapdefaultValueを返します。getOrDefault、インタフェースMap<Object,Object>getOrDefault、クラスHashtable<Object,Object>key - 関連付けられた値が返されるキーdefaultValue - キーのデフォルト・マッピングdefaultValuepublic void forEach(BiConsumer<? super Object,? super Object> action)
Mappublic Enumeration<Object> keys()
Hashtablekeys、クラスHashtable<Object,Object>Enumeration, Hashtable.elements(), Hashtable.keySet(), Mappublic Enumeration<Object> elements()
Hashtableelements、クラスHashtable<Object,Object>Enumeration, Hashtable.keys(), Hashtable.values(), Mappublic String getProperty(String key)
Propertiesnullが返されます。 getProperty、クラスPropertieskey - プロパティ・キー。Properties.setProperty(java.lang.String, java.lang.String), Properties.defaultspublic Provider.Service getService(String type, String algorithm)
putService()を使用してこのプロバイダに追加されたものと、put()経由で追加されたものの2つが見つかった場合、putService()経由で追加されたサービスが返されます。 type - 要求されるserviceのタイプ(MessageDigestなど)algorithm - 要求されるサービスのアルゴリズム名または別名(SHA-1など)。大文字と小文字は区別されるNullPointerException - type、algorithmのいずれかがnullである場合public Set<Provider.Service> getServices()
protected void putService(Provider.Service s)
putService()を使用して追加されていた場合、そのサービスは新しいサービスで置換されます。 また、このメソッドは、このサービスに関する情報をプロバイダのHashtable値に設定します。その際の形式については、「Java暗号化アーキテクチャAPIの仕様およびリファレンス」を参照してください。
また、セキュリティ・マネージャが存在する場合、セキュリティ・マネージャのcheckSecurityAccessメソッドが引数として"putProviderProperty."+name (nameはプロバイダの名前)という文字列を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかを確認します。 checkSecurityAccessのデフォルトの実装が使用される(つまり、そのメソッドがオーバーライドされない)場合は、これにより、セキュリティ・マネージャのcheckPermissionメソッドがSecurityPermission("putProviderProperty."+name)アクセス権で呼び出されます。
s - 追加するサービスSecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがプロパティ値を設定するアクセスを許可しない場合。NullPointerException - sがnullの場合protected void removeService(Provider.Service s)
putService()を使用して追加されたサービスを削除します。 指定されたサービスは、このプロバイダから削除されます。 これはgetService()を呼び出しても返されなくなり、このプロバイダのHashtableからその情報が削除されます。
また、セキュリティ・マネージャが存在する場合、セキュリティ・マネージャのcheckSecurityAccessメソッドが文字列"removeProviderProperty."+name (nameはプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を削除してもよいかどうかが確認されます。 checkSecurityAccessのデフォルトの実装が使用される(つまり、そのメソッドがオーバーライドされない)場合は、これにより、セキュリティ・マネージャのcheckPermissionメソッドがSecurityPermission("removeProviderProperty."+name)アクセス権で呼び出されます。
s - 削除されるサービスSecurityException - セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)メソッドがこのプロバイダのプロパティを削除するアクセスを許可しない場合。NullPointerException - sがnullの場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。