|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.Dictionary<K,V> java.util.Hashtable<Object,Object> java.util.Properties java.security.Provider
public abstract class Provider
このクラスは、Java Security API の「プロバイダ」を表します。プロバイダとは、Java セキュリティの全体または一部を実装するものです。プロバイダが実装するのは次のようなサービスです。
各プロバイダには名前とバージョン番号があり、インストールされているランタイムクラスごとに設定されます。
プロバイダの特定の型、暗号化サービスプロバイダの処理およびインストール方法については、「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
特定のセキュリティサービスを記述したものです。 |
フィールドの概要 |
---|
クラス java.util.Properties から継承されたフィールド |
---|
defaults |
コンストラクタの概要 | |
---|---|
protected |
Provider(String name,
double version,
String info)
指定された名前、バージョン番号、および情報を使用してプロバイダを構築します。 |
メソッドの概要 | |
---|---|
void |
clear()
このプロバイダをクリアして、プロバイダが実装した機能を検索するときに使用するプロパティを含まないようにします。 |
Set<Map.Entry<Object,Object>> |
entrySet()
このプロバイダに含まれるプロパティエントリの変更不可能な Set のビューを返します。 |
String |
getInfo()
プロバイダとそのサービス内容を、人間が読める形式で返します。 |
String |
getName()
このプロバイダの名前を返します。 |
Provider.Service |
getService(String type,
String algorithm)
指定されたタイプの指定されたアルゴリズムまたは別名に対するこの Provider の実装を記述したサービスを取得します。 |
Set<Provider.Service> |
getServices()
この Provider がサポートするすべてのサービスの変更不可能な Set を取得します。 |
double |
getVersion()
このプロバイダのバージョン番号を返します。 |
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 のビューを返します。 |
クラス java.util.Properties から継承されたメソッド |
---|
getProperty, getProperty, list, list, loadFromXML, propertyNames, save, setProperty, store, storeToXML, storeToXML |
クラス java.util.Hashtable から継承されたメソッド |
---|
clone, contains, containsKey, containsValue, elements, equals, get, hashCode, isEmpty, keys, rehash, size |
クラス java.lang.Object から継承されたメソッド |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
protected Provider(String name, double version, String info)
name
- プロバイダの名前version
- プロバイダのバージョン番号info
- プロバイダとそのサービスの記述メソッドの詳細 |
---|
public String getName()
public double getVersion()
public String getInfo()
public String toString()
Hashtable<Object,Object>
内の toString
public void clear()
セキュリティマネージャが存在する場合、まずセキュリティマネージャの checkSecurityAccess
メソッドが文字列 "clearProviderProperties."+name
(name
はプロバイダの名前) を指定して呼び出され、このプロバイダをクリアしてもよいかどうかが確認されます。checkSecurityAccess
のデフォルト実装が使用される場合 (つまり、このメソッドがオーバーライドされていない場合)、このメソッドの呼び出しによって、セキュリティマネージャの checkPermission
メソッドが SecurityPermission("clearProviderProperties."+name)
アクセス権を指定して呼び出されます。
Map<Object,Object>
内の clear
Hashtable<Object,Object>
内の clear
SecurityException
- セキュリティマネージャが存在する場合に、セキュリティマネージャの SecurityManager.checkSecurityAccess(java.lang.String)
メソッドがこのプロバイダをクリアするアクセスを許可しないときpublic void load(InputStream inStream) throws IOException
Properties
内の load
inStream
- 入力ストリーム
IOException
- 入力ストリームからの読み取り中にエラーが発生した場合Properties.load(java.io.InputStream)
public void putAll(Map<?,?> t)
Map<Object,Object>
内の putAll
Hashtable<Object,Object>
内の putAll
t
- マップに格納されるマッピングpublic Set<Map.Entry<Object,Object>> entrySet()
Map<Object,Object>
内の entrySet
Hashtable<Object,Object>
内の entrySet
Map.Entry
public Set<Object> keySet()
Map<Object,Object>
内の keySet
Hashtable<Object,Object>
内の keySet
public Collection<Object> values()
Map<Object,Object>
内の values
Hashtable<Object,Object>
内の values
public Object put(Object key, Object value)
key
というプロパティが、指定された value
という値を持つように設定します。
セキュリティマネージャが存在する場合、最初にセキュリティマネージャの checkSecurityAccess
メソッドが引数として "putProviderProperty."+name
(name
はプロバイダの名前) という文字列を指定して呼び出され、このプロバイダのプロパティ値を設定してもよいかどうかを確認します。デフォルトの checkSecurityAccess
の実装が使用される場合 (つまり、checkSecurityAccess
メソッドがオーバーライドされていない場合)、このメソッドの結果は、セキュリティマネージャの checkPermission
メソッドが引数として SecurityPermission("putProviderProperty."+name)
アクセス権を指定して呼び出された場合と同じです。
Map<Object,Object>
内の put
Hashtable<Object,Object>
内の put
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)
アクセス権を指定して呼び出されます。
Map<Object,Object>
内の remove
Hashtable<Object,Object>
内の remove
key
- 削除するプロパティのキー
SecurityException
- セキュリティマネージャが存在する場合に、セキュリティマネージャの SecurityManager.checkSecurityAccess(java.lang.String)
メソッドがこのプロバイダのプロパティ値を削除するアクセスを許可しないときpublic Provider.Service getService(String type, String algorithm)
putService()
を使用してこのプロバイダに追加されたものと、put()
経由で追加されたものの 2 つが見つかった場合、putService()
経由で追加されたサービスが返されます。
type
- 要求されるサービス
のタイプ (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 である場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。