public static class Provider.Service extends Object
每个服务都有一个提供服务的提供者,一个类型,一个算法名称,以及实现该服务的类的名称。或者,它还包括一个列表的这个服务的替代算法名称(别名)和属性,这是一个Map(名称、值)的字符串对。
这类定义的方法supportsParameter()
和newInstance()
由java安全框架时使用的搜索合适的服务和instantes他们。这些方法的有效参数依赖于服务的类型。为服务类型定义在java SE,看到的有效值 Java Cryptography Architecture API Specification & Reference 。注意java SE外部组件可以定义附加的服务类型和他们的行为。
这个类的实例是不可变的。
Constructor and Description |
---|
Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)
建设一个新的服务。
|
Modifier and Type | Method and Description |
---|---|
String |
getAlgorithm()
返回此服务的算法的名称。
|
String |
getAttribute(String name)
如果此属性未设置为此服务,则返回指定属性或空值的值。
|
String |
getClassName()
返回实现此服务的类的名称。
|
Provider |
getProvider()
返回此服务的提供程序。
|
String |
getType()
获取此服务的类型。
|
Object |
newInstance(Object constructorParameter)
返回此服务所描述的实现的新实例。
|
boolean |
supportsParameter(Object parameter)
测试此服务是否可以使用指定的参数。
|
String |
toString()
返回此服务的字符串表示形式。
|
public Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)
provider
-提供这种服务的提供者
type
-此服务的类型
algorithm
的算法名称
className
-类实现该服务的名称
aliases
-别名或空列表,如果算法没有别名
attributes
Map属性或null如果实施没有属性
NullPointerException
如果供应商类型、算法,或类名为空
public final String getType()
MessageDigest
。
public final String getAlgorithm()
SHA-1
。
public final Provider getProvider()
public final String getClassName()
public final String getAttribute(String name)
name
-请求的属性的名称
NullPointerException
如果名称是空的
public Object newInstance(Object constructorParameter) throws NoSuchAlgorithmException
默认实现使用反射来调用这种类型的服务的标准构造函数。安全服务提供商可以重写此方法以不同的方式实现实例。对细节和constructorparameter,不同类型的服务是有效值见 Java Cryptography Architecture API Specification & Reference。
constructorParameter
-传递给构造函数的值,或null如果这类服务不使用constructorparameter。
InvalidParameterException
-如果constructorparameter价值这类服务是无效的。
NoSuchAlgorithmException
-如果任何其他原因instantation失败。
public boolean supportsParameter(Object parameter)
安全提供程序框架使用这种方法与某些类型的服务,以快速排除非匹配的实现,供考虑。应用程序通常不需要调用它。
细节和参数,为不同类型的服务是有效值见本班上的 Java Cryptography Architecture API Specification & Reference。安全提供程序可以重写它来实现自己的测试。
parameter
-测试参数
InvalidParameterException
如果参数的值为这种类型的服务或如果此方法不能用于这种类型的服务是无效的
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.