java.lang.Object java.security.Provider.Service
public static class Provider.Service
安全服务的描述。它封装服务的属性并包含获得此服务新的实现实例的一个工厂方法。
每个服务都有一个提供者,它提供服务、类型、算法名称和实现该服务的类的名称。它也可以选择包括此服务(别名)和属性的替换算法名称列表,该列表是 (name, value) String 对的映射表。
此类定义了方法 supportsParameter()
和 newInstance()
,Java 安全框架搜索合适的服务并实例化它们时使用这两个方法。这些方法的有效参数取决于服务的类型。关于 Java SE 中定义的服务类型的有效值,请参见 Java Cryptography Architecture API Specification & Reference 。注意,Java SE 以外的组件可以定义其他类型的服务及其行为。
此类的实例是不可变的。
构造方法摘要 | |
---|---|
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 |
构造方法详细信息 |
---|
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
方法详细信息 |
---|
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
- 如果 name 为 null
public Object newInstance(Object constructorParameter) throws NoSuchAlgorithmException
默认实现使用反射调用此服务类型的标准构造方法。安全提供者可以重写此方法来以不同的方式实现实例化。有关详细信息和各种服务类型的有效 constructorParameter 值,请参见 Java Cryptography Architecture API Specification & Reference。
constructorParameter
- 传递给构造器的值,如果此服务类型不使用 constructorParameter,则为 null。
InvalidParameterException
- 如果 constructorParameter 对于此服务类型是无效值
NoSuchAlgorithmException
- 如果由于任何其他原因实例化失败。
public boolean supportsParameter(Object parameter)
安全提供者框架用一些服务类型作为参数使用此方法来快速排除所考虑实现中的不匹配项。应用程序通常不需要调用它。
有关详细信息和各种服务类型的有效参数值,请参见此类的顶部和 Java Cryptography Architecture API Specification & Reference。安全提供者可以重写它以实现自己的测试。
parameter
- 要测试的参数。
InvalidParameterException
- 如果参数值对于此服务类型无效或此方法不能随此服务类型一同使用。
public String toString()