JavaTM 2 Platform
Std. Ed. v1.3

java.security
Class Provider

java.lang.Object
  |
  +--java.util.Dictionary
        |
        +--java.util.Hashtable
              |
              +--java.util.Properties
                    |
                    +--java.security.Provider
All Implemented Interfaces:
Cloneable, Map, Serializable

public abstract class Provider
extends Properties

This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security, including:

Each provider has a name and a version number, and is configured in each runtime it is installed in.

See The Provider Class in the "Java Cryptography Architecture API Specification & Reference" for information about how a particular type of provider, the cryptographic service provider, works and is installed. However, please note that a provider can be used to implement any security service in Java that uses a pluggable architecture with a choice of implementations that fit underneath.

See Also:
Serialized Form

Inner classes inherited from class java.util.Map
Map.Entry
 
Fields inherited from class java.util.Properties
defaults
 
Constructor Summary
protected Provider(String name, double version, String info)
          Constructs a provider with the specified name, version number, and information.
 
Method Summary
 void clear()
          Clears this provider so that it no longer contains the properties used to look up facilities implemented by the provider.
 Set entrySet()
          Returns an unmodifiable Set view of the property entries contained in this Provider.
 String getInfo()
          Returns a human-readable description of the provider and its services.
 String getName()
          Returns the name of this provider.
 double getVersion()
          Returns the version number for this provider.
 Set keySet()
          Returns an unmodifiable Set view of the property keys contained in this provider.
 void load(InputStream inStream)
          Reads a property list (key and element pairs) from the input stream.
 Object put(Object key, Object value)
          Sets the key property to have the specified value.
 void putAll(Map t)
          Copies all of the mappings from the specified Map to this provider.
 Object remove(Object key)
          Removes the key property (and its corresponding value).
 String toString()
          Returns a string with the name and the version number of this provider.
 Collection values()
          Returns an unmodifiable Collection view of the property values contained in this provider.
 
Methods inherited from class java.util.Properties
getProperty, getProperty, list, list, propertyNames, save, setProperty, store
 
Methods inherited from class java.util.Hashtable
clone, contains, containsKey, containsValue, elements, equals, get, hashCode, isEmpty, keys, rehash, size
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Provider

protected Provider(String name,
                   double version,
                   String info)
Constructs a provider with the specified name, version number, and information.
Parameters:
name - the provider name.
version - the provider version number.
info - a description of the provider and its services.
Method Detail

getName

public String getName()
Returns the name of this provider.
Returns:
the name of this provider.

getVersion

public double getVersion()
Returns the version number for this provider.
Returns:
the version number for this provider.

getInfo

public String getInfo()
Returns a human-readable description of the provider and its services. This may return an HTML page, with relevant links.
Returns:
a description of the provider and its services.

toString

public String toString()
Returns a string with the name and the version number of this provider.
Overrides:
toString in class Hashtable
Returns:
the string with the name and the version number for this provider.

clear

public void clear()
Clears this provider so that it no longer contains the properties used to look up facilities implemented by the provider.

First, if there is a security manager, its checkSecurityAccess method is called with the string "clearProviderProperties."+name (where name is the provider name) to see if it's ok to clear this provider. If the default implementation of checkSecurityAccess is used (that is, that method is not overriden), then this results in a call to the security manager's checkPermission method with a SecurityPermission("clearProviderProperties."+name) permission.

Overrides:
clear in class Hashtable
Throws:
SecurityException - if a security manager exists and its SecurityManager.checkSecurityAccess(java.lang.String) method denies access to clear this provider
Since:
1.2

load

public void load(InputStream inStream)
          throws IOException
Reads a property list (key and element pairs) from the input stream.
Overrides:
load in class Properties
Parameters:
inStream - the input stream.
Throws:
IOException - if an error occurred when reading from the input stream.
See Also:
Properties.load(java.io.InputStream)

putAll

public void putAll(Map t)
Copies all of the mappings from the specified Map to this provider. These mappings will replace any properties that this provider had for any of the keys currently in the specified Map.
Overrides:
putAll in class Hashtable
Since:
1.2

entrySet

public Set entrySet()
Returns an unmodifiable Set view of the property entries contained in this Provider.
Overrides:
entrySet in class Hashtable
Since:
1.2
See Also:
Map.Entry

keySet

public Set keySet()
Returns an unmodifiable Set view of the property keys contained in this provider.
Overrides:
keySet in class Hashtable
Since:
1.2

values

public Collection values()
Returns an unmodifiable Collection view of the property values contained in this provider.
Overrides:
values in class Hashtable
Since:
1.2

put

public Object put(Object key,
                  Object value)
Sets the key property to have the specified value.

First, if there is a security manager, its checkSecurityAccess method is called with the string "putProviderProperty."+name, where name is the provider name, to see if it's ok to set this provider's property values. If the default implementation of checkSecurityAccess is used (that is, that method is not overriden), then this results in a call to the security manager's checkPermission method with a SecurityPermission("putProviderProperty."+name) permission.

Overrides:
put in class Hashtable
Parameters:
key - the property key.
value - the property value.
Returns:
the previous value of the specified property (key), or null if it did not have one.
Throws:
SecurityException - if a security manager exists and its SecurityManager.checkSecurityAccess(java.lang.String) method denies access to set property values.
Since:
1.2

remove

public Object remove(Object key)
Removes the key property (and its corresponding value).

First, if there is a security manager, its checkSecurityAccess method is called with the string ""removeProviderProperty."+name, where name is the provider name, to see if it's ok to remove this provider's properties. If the default implementation of checkSecurityAccess is used (that is, that method is not overriden), then this results in a call to the security manager's checkPermission method with a SecurityPermission("removeProviderProperty."+name) permission.

Overrides:
remove in class Hashtable
Parameters:
key - the key for the property to be removed.
Returns:
the value to which the key had been mapped, or null if the key did not have a mapping.
Throws:
SecurityException - if a security manager exists and its SecurityManager.checkSecurityAccess(java.lang.String) method denies access to remove this provider's properties.
Since:
1.2

JavaTM 2 Platform
Std. Ed. v1.3

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.