com.ibm.security.pkcs9
Class EmailAddress

java.lang.Object
  |
  +--com.ibm.security.pkcsutil.PKCSDerObject
        |
        +--com.ibm.security.pkcs9.PKCS9DerObject
              |
              +--com.ibm.security.pkcs9.EmailAddress

public final class EmailAddress
extends PKCS9DerObject
implements Cloneable

Implements the ASN.1 EmailAddress type.

An EmailAddress attribute can have multiple attribute values.

EmailAddress ::= IA5String

EmailAddress objects are immutable; they cannot be changed once created.


Fields inherited from class com.ibm.security.pkcsutil.PKCSDerObject
provider
 
Constructor Summary
EmailAddress(byte[] der)
          Create an EmailAddress object with a DER byte array.
EmailAddress(byte[] der, String provider)
          Create an EmailAddress object with a DER byte array.
EmailAddress(String emailaddress)
          Create an EmailAddress object with an email address string as the only element of the set of email addresses.
EmailAddress(String[] emailaddresses)
          Create an EmailAddress object with an array of Strings.
EmailAddress(String[] emailaddresses, String provider)
          Create an EmailAddress object with an array of Strings.
EmailAddress(String filename, boolean base64)
          Create an EmailAddress with the filename of the DER-encoded or BASE64-encoded object.
EmailAddress(String filename, boolean base64, String provider)
          Create an EmailAddress with the filename of the DER-encoded or BASE64-encoded object.
EmailAddress(String emailaddress, String provider)
          Create an EmailAddress object with an email address string as the only element of the set of email addresses.
 
Method Summary
 Object clone()
          Creates a clone of this EmailAddress object.
protected  void decode(com.ibm.security.pkcs9.DerValue encoding)
          Initializes an EmailAddress object from a DerValue.
 void encode(OutputStream os)
          Encodes this object to an OutputStream.
 boolean equals(Object obj)
          Determines if this EmailAddress object is equivalent to the input object.
 String getAttributeName()
          Returns a String indicating the name of the attribute.
 String[] getEmailAddresses()
          Returns a copy of the array of email addresses for this EmailAddress object.
 ObjectIdentifier getObjectIdentifier()
          Returns the ObjectIdentifer for the EmailAddress attribute.
 Object getValue()
          Calls the getEmailAddresses method.
 boolean isSingleValued()
          Returns false.
 boolean isTagValid(byte tag)
          Returns a boolean indicating if the tag is valid for this object.
 String toString()
          Returns a string representation of this EmailAddress object.
 
Methods inherited from class com.ibm.security.pkcs9.PKCS9DerObject
getName, getOID, getPKCSAttribute
 
Methods inherited from class com.ibm.security.pkcsutil.PKCSDerObject
decode, decode, encode, hashCode, read, readBASE64, write, write, writeBASE64
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EmailAddress

public EmailAddress(byte[] der)
             throws IOException
Create an EmailAddress object with a DER byte array.
Parameters:
der - a DER byte array of an EmailAddress object.
Throws:
IOException - on decoding errors.

EmailAddress

public EmailAddress(byte[] der,
                    String provider)
             throws IOException
Create an EmailAddress object with a DER byte array.
Parameters:
der - a DER byte array of an EmailAddress object.
Throws:
provider - the provider to be used.

EmailAddress

public EmailAddress(String emailaddress)
Create an EmailAddress object with an email address string as the only element of the set of email addresses.
Parameters:
emailaddress - String of e-mail address.

EmailAddress

public EmailAddress(String emailaddress,
                    String provider)
Create an EmailAddress object with an email address string as the only element of the set of email addresses.
Parameters:
emailaddress - String of e-mail address.
provider - the provider to be used.

EmailAddress

public EmailAddress(String filename,
                    boolean base64)
             throws IOException
Create an EmailAddress with the filename of the DER-encoded or BASE64-encoded object.
Parameters:
filename - name of the DER-encoded or base64-encoded object
base64 - true if BASE64-encoded, false if DER-encoded
Throws:
IOException - on decoding errors.

EmailAddress

public EmailAddress(String filename,
                    boolean base64,
                    String provider)
             throws IOException
Create an EmailAddress with the filename of the DER-encoded or BASE64-encoded object.
Parameters:
filename - name of the DER-encoded or base64-encoded object
base64 - true if BASE64-encoded, false if DER-encoded
provider - the provider to be used
Throws:
IOException - on decoding errors.

EmailAddress

public EmailAddress(String[] emailaddresses)
Create an EmailAddress object with an array of Strings.
Parameters:
emailaddress - String array of e-mail addresses.

EmailAddress

public EmailAddress(String[] emailaddresses,
                    String provider)
Create an EmailAddress object with an array of Strings.
Parameters:
emailaddress - String array of e-mail addresses.
provider - the provider to be used.
Method Detail

clone

public Object clone()
Creates a clone of this EmailAddress object.
Overrides:
clone in class Object
Returns:
clone of this EmailAddress object.

equals

public boolean equals(Object obj)
Determines if this EmailAddress object is equivalent to the input object.
Overrides:
equals in class PKCSDerObject
Parameters:
other - the object to compare this one to.
Returns:
true, if the two objects are equivalent, false otherwise.

getObjectIdentifier

public ObjectIdentifier getObjectIdentifier()
Returns the ObjectIdentifer for the EmailAddress attribute.
Overrides:
getObjectIdentifier in class PKCSDerObject
Returns:
the ObjectIdentifer for the EmailAddress attribute.

encode

public void encode(OutputStream os)
            throws IOException
Encodes this object to an OutputStream.
Overrides:
encode in class PKCSDerObject
Parameters:
os - the OutputStream to write the encoded data to.
Throws:
IOException - on encoding errors.

getEmailAddresses

public String[] getEmailAddresses()
Returns a copy of the array of email addresses for this EmailAddress object.
Returns:
String array of e-mail address.

getValue

public Object getValue()
Calls the getEmailAddresses method. Standard method to access the value of the PKCS #9 object.
Overrides:
getValue in class PKCS9DerObject

isTagValid

public boolean isTagValid(byte tag)
Returns a boolean indicating if the tag is valid for this object.
Overrides:
isTagValid in class PKCS9DerObject
Returns:
true if tag_IA5String, false otherwise.

isSingleValued

public boolean isSingleValued()
Returns false. EmailAddress allows multiple attribute values.
Overrides:
isSingleValued in class PKCS9DerObject
Returns:
false

getAttributeName

public String getAttributeName()
Returns a String indicating the name of the attribute.
Overrides:
getAttributeName in class PKCS9DerObject
Returns:
name of the EmailAddress attribute.

toString

public String toString()
Returns a string representation of this EmailAddress object.
Overrides:
toString in class PKCSDerObject
Returns:
a string representation of this object.

decode

protected void decode(com.ibm.security.pkcs9.DerValue encoding)
               throws IOException
Initializes an EmailAddress object from a DerValue. The DER encoding must be in the format specified by the EmailAddress ASN.1 notation.
Overrides:
decode in class PKCS9DerObject
Parameters:
encoding - a DER-encoded EmailAddress object.
Throws:
IOException - on parsing error.