com.ibm.security12.sun.security.provider
Class IdentityDatabase

java.lang.Object
  |
  +--com.ibm.security12.java.security.Identity
        |
        +--com.ibm.security12.java.security.IdentityScope
              |
              +--com.ibm.security12.sun.security.provider.IdentityDatabase

public class IdentityDatabase
extends IdentityScope
implements Serializable

An implementation of IdentityScope as a persistent identity database.

Version:
1.36, 07/07/98
Author:
Benjamin Renaud
See Also:
Identity, Key, Serialized Form

Constructor Summary
IdentityDatabase(File file)
          Construct a new, empty database with a specified source file.
IdentityDatabase(String name)
          Construct a new, empty database.
 
Method Summary
 void addIdentity(Identity identity)
          Adds an identity to the database.
static sun.security.provider.IdentityDatabase fromFile(File f)
          Initialize an IdentityDatabase from file.
static sun.security.provider.IdentityDatabase fromStream(InputStream is)
          Initialize an identity database from a stream.
 Identity getIdentity(PublicKey key)
          Get an identity by key.
 Identity getIdentity(String name)
           
 Enumeration identities()
           
 void removeIdentity(Identity identity)
          Removes an identity to the database.
 void save()
          Saves the database to the default source file.
 void save(OutputStream os)
          Save the database in its current state to an output stream.
 int size()
           
 String toString()
           
 
Methods inherited from class com.ibm.security12.java.security.IdentityScope
getIdentity, getSystemScope, setSystemScope
 
Methods inherited from class com.ibm.security12.java.security.Identity
addCertificate, certificates, equals, getInfo, getName, getPublicKey, getScope, hashCode, identityEquals, removeCertificate, setInfo, setPublicKey, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IdentityDatabase

public IdentityDatabase(File file)
                 throws InvalidParameterException
Construct a new, empty database with a specified source file.
Parameters:
file - the source file.

IdentityDatabase

public IdentityDatabase(String name)
                 throws InvalidParameterException
Construct a new, empty database.
Method Detail

fromStream

public static sun.security.provider.IdentityDatabase fromStream(InputStream is)
                                                         throws IOException
Initialize an identity database from a stream. The stream should contain data to initialized a serialized IdentityDatabase object.
Parameters:
is - the input stream from which to restore the database.
Throws:
IOException - if a stream IO exception occurs

fromFile

public static sun.security.provider.IdentityDatabase fromFile(File f)
                                                       throws IOException
Initialize an IdentityDatabase from file.
Parameters:
f - the filename where the identity database is stored.
Throws:
IOException - a file-related exception occurs (e.g. the directory of the file passed does not exists, etc.

size

public int size()
Returns:
the number of identities in the database.
Overrides:
size in class IdentityScope

getIdentity

public Identity getIdentity(String name)
Parameters:
name - the name of the identity to be retrieved.
Returns:
the identity named name, or null if there are no identities named name in the database.
Overrides:
getIdentity in class IdentityScope

getIdentity

public Identity getIdentity(PublicKey key)
Get an identity by key.
Parameters:
name - the key of the identity to be retrieved.
Returns:
the identity with a given key, or null if there are no identities with that key in the database.
Overrides:
getIdentity in class IdentityScope

addIdentity

public void addIdentity(Identity identity)
                 throws KeyManagementException
Adds an identity to the database.
Parameters:
identity - the identity to be added.
Throws:
KeyManagementException - if a name or key clash occurs, or if another exception occurs.
Overrides:
addIdentity in class IdentityScope

removeIdentity

public void removeIdentity(Identity identity)
                    throws KeyManagementException
Removes an identity to the database.
Overrides:
removeIdentity in class IdentityScope

identities

public Enumeration identities()
Returns:
an enumeration of all identities in the database.
Overrides:
identities in class IdentityScope

save

public void save(OutputStream os)
          throws IOException
Save the database in its current state to an output stream.
Parameters:
os - the output stream to which the database should be serialized.
Throws:
IOException - if an IO exception is raised by stream operations.

save

public void save()
          throws IOException
Saves the database to the default source file.
Throws:
KeyManagementException - when there is no default source file specified for this database.

toString

public String toString()
Overrides:
toString in class IdentityScope