- すべての実装されたインタフェース:
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 class
Provider.Service
特定のセキュリティ・サービスを記述したものです。 -
フィールドのサマリー
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型 メソッド 説明 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以外の場合、キーと現在マップされている値から新しいマッピングの計算を試みます。Provider
configure(String configArg)
指定された構成引数をこのプロバイダ・インスタンスに適用し、構成されたプロバイダを返します。Set<Map.Entry<Object,Object>>
entrySet()
このプロバイダに含まれるプロパティ・エントリの変更不可能なSetのビューを返します。void
forEach(BiConsumer<? super Object,? super Object> action)
このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。String
getInfo()
プロバイダとそのサービス内容を、人間が読める形式で返します。String
getName()
このプロバイダの名前を返します。Object
getOrDefault(Object key, Object defaultValue)
指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はdefaultValue
を返します。Provider.Service
getService(String type, String algorithm)
指定されたタイプの指定されたアルゴリズムまたは別名に対するこのProviderの実装を記述したサービスを取得します。Set<Provider.Service>
getServices()
このProviderがサポートするすべてのサービスの変更不可能なSetを取得します。double
getVersion()
非推奨。代わりにgetVersionStr()
を使用してください。String
getVersionStr()
このプロバイダのバージョン文字列を返します。boolean
isConfigured()
このプロバイダ・インスタンスが構成されているかどうかを確認します。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のビューを返します。クラス 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)非推奨。代わりに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
-
isConfigured
public boolean isConfigured()このプロバイダ・インスタンスが構成されているかどうかを確認します。- 実装要件:
- デフォルトの実装ではtrueを返します。 プロバイダ・インスタンスが構築後に明示的な
configure
コールを必要とする場合、サブクラスはこのメソッドをオーバーライドする必要があります。 - 戻り値:
- 詳細な構成が必要ない場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 9
-
getName
public String getName()このプロバイダの名前を返します。- 戻り値:
- このプロバイダの名前。
-
getVersion
@Deprecated(since="9") public double getVersion()非推奨。代わりにgetVersionStr()
を使用してください。このプロバイダのバージョン番号を返します。- 戻り値:
- このプロバイダのバージョン番号。
-
getVersionStr
public String getVersionStr()このプロバイダのバージョン文字列を返します。- 戻り値:
- このプロバイダのバージョン文字列。
- 導入されたバージョン:
- 9
-
getInfo
public String getInfo()プロバイダとそのサービス内容を、人間が読める形式で返します。 関連するリンクを持つHTMLページを返すこともあります。- 戻り値:
- プロバイダとそのサービスの記述。
-
toString
public String toString()このプロバイダの名前とバージョン文字列を返します。 -
clear
public void clear()このプロバイダをクリアして、プロバイダが実装した機能を検索するときに使うプロパティを含まないようにします。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"clearProviderProperties."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダをクリアしてもよいかどうかが確認されます。- 定義:
- インタフェース
Map<Object,Object>
内のclear
- オーバーライド:
- クラス
Hashtable<Object,Object>
のclear
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがこのプロバイダをクリアするアクセスを許可しない場合- 導入されたバージョン:
- 1.2
-
load
public void load(InputStream inStream) throws IOException入力ストリームからキーと要素が対になったプロパティ・リストを読み込みます。- オーバーライド:
load
、クラス:Properties
- パラメータ:
inStream
- 入力ストリーム。- 例外:
IOException
- 入力ストリームからの読込み中にエラーが発生した場合。- 関連項目:
Properties.load(java.io.Reader)
-
putAll
public void putAll(Map<?,?> t)指定されたMapからこのプロバイダへすべてのマッピングをコピーします。 これらのマッピングは、指定されたMap内に存在するすべてのキーに対応するプロパティを、このプロバイダが持っているプロパティと置き換えます。 -
entrySet
このプロバイダに含まれるプロパティ・エントリの変更不可能なSetのビューを返します。 -
keySet
このプロバイダに含まれるプロパティ・キーの変更不可能なSetのビューを返します。 -
values
public Collection<Object> values()このプロバイダに含まれるプロパティ値の変更不可能なCollectionのビューを返します。 -
put
key
プロパティが、指定された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
-
remove
key
プロパティとそれに対応する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
-
replaceAll
public void replaceAll(BiFunction<? super Object,? super Object,? extends Object> function)すべてのエントリが処理されるか、または関数が例外をスローするまで、エントリ・セット・イテレータによってエントリが返される順に、各エントリの値を、そのエントリで指定された関数を呼び出した結果で置換します。セキュリティ・マネージャが有効な場合は、セキュリティ・マネージャの
checkSecurityAccess
メソッドが文字列"putProviderProperty."+name
(name
はプロバイダの名前)を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかが確認されます。- パラメータ:
function
- 各エントリに適用する関数- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkSecurityAccess(java.lang.String)
メソッドがプロパティ値を設定するアクセスを許可しない場合。- 導入されたバージョン:
- 1.8
-
compute
public 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
-
computeIfAbsent
public 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
-
computeIfPresent
public 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
-
merge
public 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
-
forEach
public void forEach(BiConsumer<? super Object,? super Object> action)インタフェースからコピーされた説明:Map
このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。 実装クラスで指定されない場合は、エントリ・セットの反復の順序でアクションが実行されます(反復順序が指定されている場合)。 アクションによってスローされた例外は、呼出し側に中継されます。- パラメータ:
action
- 各エントリに対して実行されるアクション- 導入されたバージョン:
- 1.8
-
getService
public 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
-
getServices
public Set<Provider.Service> getServices()このProviderがサポートするすべてのサービスの変更不可能なSetを取得します。- 戻り値:
- このProviderがサポートするすべてのサービスの変更不可能なSet
- 導入されたバージョン:
- 1.5
-
putService
protected 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
-
removeService
protected 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
-