JavaTM 2 Platform
Standard Ed. 6

java.security
類別 Provider.Service

java.lang.Object
  繼承者 java.security.Provider.Service
正在封閉類別:
Provider

public static class Provider.Service
extends Object

安全服務的描述。它封裝服務的屬性並包含獲得此服務新的實作實例的一個處理器方法。

每個服務都有一個提供者,它提供服務、型別、演算法名稱和實作該服務的類別的名稱。它也可以選擇包括此服務(別名)和屬性的替換演算法名稱列表,該列表是 (name, value) String 對的映射表。

此類別定義了方法 supportsParameter()newInstance(),Java 安全框架搜尋合適的服務並實例化它們時使用這兩個方法。這些方法的有效參數取決於服務的型別。關於 Java SE 中定義的服務型別的有效值,請參見 Java Cryptography Architecture API Specification & Reference 。注意,Java SE 以外的元件可以定義其他型別的服務及其行為。

此類別的實例是不可變的。

從以下版本開始:
1.5

建構子摘要
Provider.Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)
          建構新的服務。
 
方法摘要
 String getAlgorithm()
          返回此服務的演算法的名稱。
 String getAttribute(String name)
          返回指定屬性的值,如果沒有為此 Service 設置此屬性,則返回 null。
 String getClassName()
          返回實作此服務的類別的名稱。
 Provider getProvider()
          返回此服務的 Provider。
 String getType()
          獲取此服務的型別。
 Object newInstance(Object constructorParameter)
          返回此服務描述的實作的新實例。
 boolean supportsParameter(Object parameter)
          測試此 Service 是否能使用指定的參數。
 String toString()
          返回此服務的字元串表示形式。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

Provider.Service

public Provider.Service(Provider provider,
                        String type,
                        String algorithm,
                        String className,
                        List<String> aliases,
                        Map<String,String> attributes)
建構新的服務。

參數:
provider - 提供此服務的提供者
type - 此服務的型別
algorithm - 演算法名稱
className - 實作此服務的類別的名稱
aliases - 別名的列表,如果演算法沒有別名則為 null
attributes - 屬性的 Map,如果此實作沒有屬性則為 null
拋出:
NullPointerException - 如果 provider、type、algorithm、或 className 為 null
方法詳細資訊

getType

public final String getType()
獲取此服務的型別。例如,MessageDigest

返回:
此服務的型別

getAlgorithm

public final String getAlgorithm()
返回此服務的演算法的名稱。例如,SHA-1

返回:
此服務的演算法

getProvider

public final Provider getProvider()
返回此服務的 Provider。

返回:
此服務的 Provider。

getClassName

public final String getClassName()
返回實作此服務的類別的名稱。

返回:
實作此服務的類別的名稱。

getAttribute

public final String getAttribute(String name)
返回指定屬性的值,如果沒有為此 Service 設置此屬性,則返回 null。

參數:
name - 請求的屬性的名稱
返回:
指定的屬性的值,如果屬性不存在則返回 null
拋出:
NullPointerException - 如果 name 為 null

newInstance

public Object newInstance(Object constructorParameter)
                   throws NoSuchAlgorithmException
返回此服務描述的實作的新實例。安全提供者框架使用此方法建構實作。應用程序通常不需要調用它。

預設實作使用反射調用此服務型別的標準建構子。安全提供者可以覆寫此方法來以不同的方式實作實例化。有關詳細資訊和各種服務型別的有效 constructorParameter 值,請參見 Java Cryptography Architecture API Specification & Reference

參數:
constructorParameter - 傳遞給建構器的值,如果此服務型別不使用 constructorParameter,則為 null。
返回:
此服務的新實作
拋出:
InvalidParameterException - 如果 constructorParameter 對於此服務型別是無效值
NoSuchAlgorithmException - 如果由於任何其他原因實例化失敗。

supportsParameter

public boolean supportsParameter(Object parameter)
測試此 Service 是否能使用指定的參數。如果此服務不能使用該參數,則返回 false。如果此服務能使用該參數、快速測試不可行或狀態未知,則返回 true。

安全提供者框架用一些服務型別作為參數使用此方法來快速排除所考慮實作中的不比對項。應用程序通常不需要調用它。

有關詳細資訊和各種服務型別的有效參數值,請參見此類別的頂部和 Java Cryptography Architecture API Specification & Reference。安全提供者可以覆寫它以實作自己的測試。

參數:
parameter - 要測試的參數。
返回:
如果此服務不能使用指定的參數返回 false;如果它可能使用該參數返回 true
拋出:
InvalidParameterException - 如果參數值對於此服務型別無效或此方法不能隨此服務型別一同使用。

toString

public String toString()
返回此服務的字元串表示形式。

覆寫:
類別 Object 中的 toString
返回:
此服務的字元串表示形式

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only