com.ibm.crypto.provider
Class IdentityDatabase

java.lang.Object
  extended by java.security.Identity
      extended by java.security.IdentityScope
          extended by com.ibm.crypto.provider.IdentityDatabase
All Implemented Interfaces:
Serializable, Principal

public class IdentityDatabase
extends IdentityScope
implements Serializable

An implementation of IdentityScope as a persistent identity database.

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 IdentityDatabase fromFile(File f)
          Initialize an IdentityDatabase from file.
static 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 java.security.IdentityScope
getIdentity, getSystemScope, setSystemScope
 
Methods inherited from class 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.
Throws:
InvalidParameterException

IdentityDatabase

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

Throws:
InvalidParameterException
Method Detail

fromStream

public static 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 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()
Specified by:
size in class IdentityScope
Returns:
the number of identities in the database.

getIdentity

public Identity getIdentity(String name)
Specified by:
getIdentity in class IdentityScope
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.

getIdentity

public Identity getIdentity(PublicKey key)
Get an identity by key.

Specified by:
getIdentity in class IdentityScope
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.

addIdentity

public void addIdentity(Identity identity)
                 throws KeyManagementException
Adds an identity to the database.

Specified by:
addIdentity in class IdentityScope
Parameters:
identity - the identity to be added.
Throws:
KeyManagementException - if a name or key clash occurs, or if another exception occurs.

removeIdentity

public void removeIdentity(Identity identity)
                    throws KeyManagementException
Removes an identity to the database.

Specified by:
removeIdentity in class IdentityScope
Throws:
KeyManagementException

identities

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

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:
IOException - when there is no default source file specified for this database.

toString

public String toString()
Specified by:
toString in interface Principal
Overrides:
toString in class IdentityScope