public class ENUMERATED extends ASN1Object
An ASN.1 ENUMERATED object represents an integer value out of a predefined quantity of integers. In this way, an application can define its own enumeration types whenever it intends to restrict the number of values a particular component may occupy, e.g.:
Seasons ::= ENUMERATED {
spring (0),
summer (1),
autumn (2),
winter (3)
}
In this example, a representative of the Seasons enumerated type only
may take one of four valid values: 0 (for spring), 1 (for summer), 2 (for
autumn), and 3 (for winter).
When creating a new ENUMERATED object, the integer value it represents has to be specified, e.g.:
ENUMERATED seasonsValue = new ENUMERATED(2);An application using the ENUMERATED type, itself has to take care for checking if the supplied value exists in the predefined quantity. This class only provides an utility for creating a representative of the particular type and encoding it as ENUMERATED.
When calling the getValue method for getting the inherent
value from an ASN.1 ENUMERATED instance, a Java object of type
Integer is returned:
Integer Value = (Integer) enumerated.getValue(); int value = Value.intValue();DER en/decoding generally is done by means of the several methods of the
DerCoder class; decoding alternatively may be
performed by using the DerInputStream
utility.ASN1Object,
ASNasnType, constructed, encode_listener, indefinite_length, isStringType, stream_mode| Modifier | Constructor and Description |
|---|---|
protected |
ENUMERATED()
Create an empty ENUMERATED.
|
|
ENUMERATED(int value)
Creates an ENUMERATED object for representing the given int value.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
decode(int length,
java.io.InputStream is)
Decodes an ENUMERATED value from the given InputStream.
|
protected void |
encode(java.io.OutputStream os)
DER encodes this ENUMERATED ASN1Object and writes the result to the given
output stream.
|
java.lang.Object |
getValue()
Returns the value of this ENUMERATED as an Integer object.
|
void |
setValue(java.lang.Object object)
Sets the value of this ENUMERATED.
|
java.lang.String |
toString()
Returns a string that represents the contents of this ENUMERATED
ASN1Object.
|
addComponent, addEncodeListener, clone, countComponents, encodeObject, getAsnType, getComponentAt, indefiniteLength, isA, isConstructed, isStringType, setIndefiniteLengthprotected ENUMERATED()
public ENUMERATED(int value)
value - the int value this ENUMERATED object should representpublic java.lang.Object getValue()
getValue in class ASN1Objectpublic void setValue(java.lang.Object object)
Integer.setValue in class ASN1Objectobject - the Java Integer value to be set for this ENUMERATED objectprotected void encode(java.io.OutputStream os)
throws java.io.IOException
encode methods of the DerCoder
class for performing the encoding, and the DerCoder internally will call
this encode method.encode in class ASN1Objectos - the output stream to which to write the datajava.io.IOException - if an I/O error occurs while writing to the streamprotected void decode(int length,
java.io.InputStream is)
throws java.io.IOException,
CodingException
length bytes to
be read represent the value of an ASN.1 object of type ENUMERATED.
This is a protected method and will not be used by an application for
decoding a DER encoded ENUMERATED. An application will call one of the
decode methods of the DerCoder
class for performing the decoding. The DerCoder then determines the number
of bytes (length) occupied by the value of this ENUMERATED
object and internally calls this decode method for actually
reading the value.
decode in class ASN1Objectlength - the already decoded length, i.e. number of the bytes representing
the value of the ENUMERATED to be decodedis - the input stream from which the DER encoded data is read injava.io.IOException - if there is a problem with the InputStreamCodingException - if a decoding error occurspublic java.lang.String toString()
toString in class ASN1ObjectASN1Object.toString()