public static class Provider.Service extends Object
Each service has a provider that offers the service, a type, an algorithm name, and the name of the class that implements the service. Optionally, it also includes a list of alternate algorithm names for this service (aliases) and attributes, which are a map of (name, value) String pairs.
This class defines the methods supportsParameter() and newInstance() which are used by the Java security framework when it searches for suitable services and instantes them. The valid arguments to those methods depend on the type of service. For the service types defined within Java SE, see the Java Cryptography Architecture API Specification & Reference for the valid values. Note that components outside of Java SE can define additional types of services and their behavior.
Instances of this class are immutable.
| Constructor and Description |
|---|
Service(Provider
Construct a new service.
|
| Modifier and Type | Method and Description |
|---|---|
String |
getAlgorithm()
Return the name of the algorithm of this service.
|
String |
getAttribute(String
Return the value of the specified attribute or null if this attribute is not set for this Service.
|
String |
getClassName()
Return the name of the class implementing this service.
|
Provider |
getProvider()
Return the Provider of this service.
|
String |
getType()
Get the type of this service.
|
Object |
newInstance(Object
Return a new instance of the implementation described by this service.
|
boolean |
supportsParameter(Object
Test whether this Service can use the specified parameter.
|
String |
toString()
Return a String representation of this service.
|
public Service(Providerprovider, String type, String algorithm, String className, List <String > aliases, Map <String ,String > attributes)
provider - the provider that offers this service
type - the type of this service
algorithm - the algorithm name
className - the name of the class implementing this service
aliases - List of aliases or null if algorithm has no aliases
attributes - Map of attributes or null if this implementation has no attributes
NullPointerException - if provider, type, algorithm, or className is null
public final StringgetType()
MessageDigest.
public final StringgetAlgorithm()
SHA-1.
public final ProvidergetProvider()
public final StringgetClassName()
public final StringgetAttribute(String name)
name - the name of the requested attribute
NullPointerException - if name is null
public ObjectnewInstance(Object constructorParameter) throws NoSuchAlgorithmException
The default implementation uses reflection to invoke the standard constructor for this type of service. Security providers can override this method to implement instantiation in a different way. For details and the values of constructorParameter that are valid for the various types of services see the Java Cryptography Architecture API Specification & Reference.
constructorParameter - the value to pass to the constructor, or null if this type of service does not use a constructorParameter.
InvalidParameterException - if the value of constructorParameter is invalid for this type of service.
NoSuchAlgorithmException - if instantation failed for any other reason.
public boolean supportsParameter(Objectparameter)
The security provider framework uses this method with some types of services to quickly exclude non-matching implementations for consideration. Applications will typically not need to call it.
For details and the values of parameter that are valid for the various types of services see the top of this class and the Java Cryptography Architecture API Specification & Reference. Security providers can override it to implement their own test.
parameter - the parameter to test
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