|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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()
このプロバイダをクリアして、プロバイダが実装した機能を検索するときに使うプロパティーを含まないようにします。 |
Enumeration<Object> |
elements()
ハッシュテーブルにある値のリストを返します。 |
Set<Map.Entry<Object,Object>> |
entrySet()
このプロバイダに含まれるプロパティーエントリの変更不可能な Set のビューを返します。 |
Object |
get(Object key)
指定されたキーがマップされている値を返します。 |
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 のビューを返します。 |
クラス java.util.Properties から継承されたメソッド |
---|
getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNames |
クラス java.util.Hashtable から継承されたメソッド |
---|
clone, contains, containsKey, containsValue, equals, hashCode, isEmpty, 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.Reader)
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
のデフォルト実装が使用される場合 (つまり、このメソッドがオーバーライドされていない場合)、このメソッドの呼び出しによって、セキュリティーマネージャーの 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 Object get(Object key)
Hashtable
の記述:null
を返します。
つまり、このメソッドは、(key.equals(k))
となるキー k
から値 v
へのマッピングがこのマップに含まれている場合は v
を返し、それ以外の場合は null
を返します。このようなマッピングが 1 つだけあります。
Map<Object,Object>
内の get
Hashtable<Object,Object>
内の get
key
- 関連付けられた値が返されるキー
null
Hashtable.put(Object, Object)
public Enumeration<Object> keys()
Hashtable
の記述:
Hashtable<Object,Object>
内の keys
Enumeration
,
Hashtable.elements()
,
Hashtable.keySet()
,
Map
public Enumeration<Object> elements()
Hashtable
の記述:
Hashtable<Object,Object>
内の elements
Enumeration
,
Hashtable.keys()
,
Hashtable.values()
,
Map
public String getProperty(String key)
Properties
の記述:null
が返されます。
Properties
内の getProperty
key
- プロパティキー
Properties.setProperty(java.lang.String, java.lang.String)
,
Properties.defaults
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 Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。