public static class Provider.Service
extends Object
java.lang.Object | |
↳ | java.security.Provider.Service |
安全服务的描述。 它封装了一个服务的属性并包含一个工厂方法来获得这个服务的新实现实例。
每个服务都有提供服务的提供者,类型,算法名称和实现该服务的类的名称。 或者,它还包含此服务(别名)和属性的替代算法名称列表,这些名称是(名称,值)字符串对的映射。
该类定义了Java安全框架在搜索合适的服务并将它们实例化时使用的方法supportsParameter()
和newInstance()
。 这些方法的有效参数取决于服务的类型。 对于在Java SE中定义的服务类型,请参见Java Cryptography Architecture API Specification & Reference以获取有效值。 请注意,Java SE之外的组件可以定义其他类型的服务及其行为。
这个类的实例是不可变的。
Public constructors |
|
---|---|
Provider.Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String, String> attributes) 构建一项新服务。 |
Public methods |
|
---|---|
final String |
getAlgorithm() 返回此服务的算法的名称。 |
final String |
getAttribute(String name) 返回指定属性的值;如果未为此服务设置此属性,则返回null。 |
final String |
getClassName() 返回实现此服务的类的名称。 |
final Provider |
getProvider() 返回此服务的提供者。 |
final String |
getType() 获取此服务的类型。 |
Object |
newInstance(Object constructorParameter) 返回此服务描述的实现的新实例。 |
boolean |
supportsParameter(Object parameter) 测试此服务是否可以使用指定的参数。 |
String |
toString() 返回此服务的字符串表示形式。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
Provider.Service (Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String, String> attributes)
构建一项新服务。
Parameters | |
---|---|
provider |
Provider : the provider that offers this service |
type |
String : the type of this service |
algorithm |
String : the algorithm name |
className |
String : the name of the class implementing this service |
aliases |
List : List of aliases or null if algorithm has no aliases |
attributes |
Map : Map of attributes or null if this implementation has no attributes |
Throws | |
---|---|
NullPointerException |
if provider, type, algorithm, or className is null |
String getAlgorithm ()
返回此服务的算法的名称。 例如, SHA-1
。
Returns | |
---|---|
String |
the algorithm of this service |
String getAttribute (String name)
返回指定属性的值;如果未为此服务设置此属性,则返回null。
Parameters | |
---|---|
name |
String : the name of the requested attribute |
Returns | |
---|---|
String |
the value of the specified attribute or null if the attribute is not present |
Throws | |
---|---|
NullPointerException |
if name is null |
String getClassName ()
返回实现此服务的类的名称。
Returns | |
---|---|
String |
the name of the class implementing this service |
Provider getProvider ()
返回此服务的提供者。
Returns | |
---|---|
Provider |
the Provider of this service |
String getType ()
获取此服务的类型。 例如, MessageDigest
。
Returns | |
---|---|
String |
the type of this service |
Object newInstance (Object constructorParameter)
返回此服务描述的实现的新实例。 安全提供程序框架使用此方法来构建实现。 应用程序通常不需要调用它。
默认实现使用反射来调用此类服务的标准构造函数。 安全提供者可以重写此方法以不同的方式实现实例化。 有关对各种服务有效的constructorParameter的详细信息和值,请参阅Java Cryptography Architecture API Specification & Reference 。
Parameters | |
---|---|
constructorParameter |
Object : the value to pass to the constructor, or null if this type of service does not use a constructorParameter. |
Returns | |
---|---|
Object |
a new implementation of this service |
Throws | |
---|---|
InvalidParameterException |
if the value of constructorParameter is invalid for this type of service. |
NoSuchAlgorithmException |
if instantation failed for any other reason. |
boolean supportsParameter (Object parameter)
测试此服务是否可以使用指定的参数。 如果此服务无法使用该参数,则返回false。 如果此服务可以使用该参数,如果快速测试不可行,或者状态未知,则返回true。
安全提供程序框架在某些类型的服务中使用此方法来快速排除不匹配的实现以供考虑。 应用程序通常不需要调用它。
有关各种服务有效的参数值和详细信息,请参阅本课程的顶部和Java Cryptography Architecture API Specification & Reference 。 安全提供商可以覆盖它来执行他们自己的测试。
Parameters | |
---|---|
parameter |
Object : the parameter to test |
Returns | |
---|---|
boolean |
false if this this service cannot use the specified parameter; true if it can possibly use the parameter |
Throws | |
---|---|
InvalidParameterException |
if the value of parameter is invalid for this type of service or if this method cannot be used with this type of service |
String toString ()
返回此服务的字符串表示形式。
Returns | |
---|---|
String |
a String representation of this service. |