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()このプロバイダをクリアして、プロバイダが実装した機能を検索するときに使うプロパティーを含まないようにします。 | 
| Enumeration<Object> | elements()ハッシュテーブルにある値のリストを返します。 | 
| Set<Map.Entry<Object,Object>> | entrySet()このプロバイダに含まれるプロパティーエントリの変更不可能な Set のビューを返します。 | 
| Object | get(Object key)指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合は  nullを返します。 | 
| String | getInfo()プロバイダとそのサービス内容を、人間が読める形式で返します。 | 
| String | getName()このプロバイダの名前を返します。 | 
| 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 | put(Object key,    Object value)keyプロパティーが、指定されたvalueを持つように設定します。 | 
| void | putAll(Map<?,?> t)指定された Map からこのプロバイダへすべてのマッピングをコピーします。 | 
| protected void | putService(Provider.Service s)サービスを追加します。 | 
| Object | remove(Object key)keyプロパティーとそれに対応するvalueを削除します。 | 
| protected void | removeService(Provider.Service s)以前に  putService()を使用して追加されたサービスを削除します。 | 
| 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 はプロバイダの名前) を指定して呼び出され、このプロバイダをクリアしてもよいかどうかが確認されます。checkSecurityAccess のデフォルトの実装が使用される (つまり、そのメソッドがオーバーライドされない) 場合は、これにより、セキュリティーマネージャーの checkPermission メソッドが SecurityPermission("clearProviderProperties."+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 Set<Map.Entry<Object,Object>> entrySet()
public Collection<Object> values()
public Object put(Object key, Object value)
key プロパティーが、指定された value を持つように設定します。
セキュリティーマネージャーが存在する場合、最初にセキュリティーマネージャーの checkSecurityAccess メソッドが引数として "putProviderProperty."+name (name はプロバイダの名前) という文字列を指定して呼び出され、このプロバイダのプロパティー値を設定してもよいかどうかを確認します。checkSecurityAccess のデフォルトの実装が使用される (つまり、そのメソッドがオーバーライドされない) 場合は、これにより、セキュリティーマネージャーの checkPermission メソッドが SecurityPermission("putProviderProperty."+name) アクセス権で呼び出されます。
put、インタフェース: Map<Object,Object>put、クラス: Hashtable<Object,Object>key - プロパティーキー。value - プロパティー値。key) にそれまで設定されていた値。値が設定されていなかった場合は null。SecurityException - セキュリティーマネージャーが存在し、その SecurityManager.checkSecurityAccess(java.lang.String)Object.equals(Object), Hashtable.get(Object)public Object remove(Object key)
key プロパティーとそれに対応する value を削除します。
セキュリティーマネージャーが存在する場合、まずセキュリティーマネージャーの checkSecurityAccess メソッドが文字列 "removeProviderProperty."+name (name はプロバイダの名前) を指定して呼び出され、このプロバイダのプロパティーを削除してもよいかどうかが確認されます。checkSecurityAccess のデフォルトの実装が使用される (つまり、そのメソッドがオーバーライドされない) 場合は、これにより、セキュリティーマネージャーの checkPermission メソッドが SecurityPermission("removeProviderProperty."+name) アクセス権で呼び出されます。
remove、インタフェース: Map<Object,Object>remove、クラス: Hashtable<Object,Object>key - 削除するプロパティーのキー。SecurityException - セキュリティーマネージャーが存在し、その SecurityManager.checkSecurityAccess(java.lang.String)public Object get(Object key)
Hashtablenull を返します。
つまり、このメソッドは、(key.equals(k)) となるキー k から値 v へのマッピングがこのマップに含まれている場合は v を返し、それ以外の場合は null を返します。このようなマッピングが 1 つだけあります。
public 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, 2013, Oracle and/or its affiliates. All rights reserved.