com.objsys.asn1j.runtime
Class Asn1Enumerated

java.lang.Object
  extended by com.objsys.asn1j.runtime.Asn1Type
      extended by com.objsys.asn1j.runtime.Asn1Enumerated
All Implemented Interfaces:
Asn1TypeIF, java.io.Serializable, java.lang.Cloneable

public abstract class Asn1Enumerated
extends Asn1Type

This class represents the ASN.1 ENUMERATED built-in type. It is declared to be an abstract class and therefore cannot be used on its own. It must be extended by a specific enumerated type class.

See Also:
Serialized Form

Field Summary
static Asn1Tag TAG
          The TAG constant describes the universal tag for this data type (UNIVERSAL 10).
static int UNDEFINED
          The UNDEFINED constant is stored in the value member variable when the value of this enumerated type is undetermined.
 int value
          This public member variable is where the enumerated value is stored.
 
Fields inherited from class com.objsys.asn1j.runtime.Asn1Type
BIT_STRING, BMPString, BOOLEAN, ENUMERATED, EOC, EXTERNAL, GeneralString, GeneralTime, GraphicString, IA5String, INTEGER, NULL, NumericString, OBJECT_IDENTIFIER, ObjectDescriptor, OCTET_STRING, OpenType, PrintableString, REAL, RelativeOID, SEQUENCE, SET, T61String, TeletexString, UniversalString, UTCTime, UTF8String, VideotexString, VisibleString
 
Constructor Summary
Asn1Enumerated()
          The default constructor sets the enumerated value to undefined.
Asn1Enumerated(int value_)
          This constructor creates an enumerated object from a integer value.
 
Method Summary
 void decode(Asn1BerDecodeBuffer buffer, boolean explicit, int implicitLength)
          This method decodes an ASN.1 enumerated value including the UNIVERSAL tag value and length if explicit tagging is specified.
 void decode(Asn1PerDecodeBuffer buffer, long lower, long upper)
          This method decodes an ASN.1 enumerated value using the Packed Encoding Rules (PER).
 void decodeXER(java.lang.String buffer, java.lang.String attrs)
          This method decodes an ASN.1 enumerated value using the XML encoding rules (XER).
 void decodeXML(java.lang.String buffer, java.lang.String attrs)
          This method decodes an ASN.1 enumerated value using the XML schema encoding rules.
 int encode(Asn1BerEncodeBuffer buffer, boolean explicit)
          This method encodes an ASN.1 enumerated value including the UNIVERSAL tag value and length if explicit tagging is specified.
 void encode(Asn1BerOutputStream out, boolean explicit)
          This method encodes and writes to the stream an ASN.1 enumerated value including the UNIVERSAL tag value and length if explicit tagging is specified.
 void encode(Asn1PerEncodeBuffer buffer, long lower, long upper)
          This method encodes an ASN.1 enumerated value using the Packed Encoding Rules (PER).
 void encode(Asn1PerOutputStream out, long lower, long upper)
          This method encodes an ASN.1 enumerated value using the Packed Encoding Rules (PER).
 void encode(Asn1XerEncodeBuffer buffer)
          This method encodes an ASN.1 enumerated value using the XML encoding rules (XER).
 void encode(Asn1XerEncoder buffer, java.lang.String elemName)
          This method encodes an ASN.1 enumerated value using the XML encoding rules (XER).
 void encode(Asn1XmlEncoder buffer, java.lang.String elemName, java.lang.String nsPrefix)
          This method encodes an ASN.1 enumerated value using the XML Encoding as specified in the XML schema standard(asn2xsd).
 boolean equals(int ivalue)
          This method compares this enumerated value to the given value for equality.
 boolean equals(java.lang.Object o)
          This method compares this enumerated value to the given value for equality.
 int parseValue(java.lang.String value)
          This method will parse the given enumeration text and set the enumerated value.
 java.lang.String toString()
          This method will return the enumeration text for a given enumerated value.
 
Methods inherited from class com.objsys.asn1j.runtime.Asn1Type
clone, decode, decode, decode, decode, encode, encode, encode, encode, encode, encodeAttribute, getLength, getTypeName, indent, isOpenType, matchTag, matchTag, pdiag, print, setKey, setOpenType
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TAG

public static final Asn1Tag TAG
The TAG constant describes the universal tag for this data type (UNIVERSAL 10).


UNDEFINED

public static final int UNDEFINED
The UNDEFINED constant is stored in the value member variable when the value of this enumerated type is undetermined.

See Also:
Constant Field Values

value

public transient int value
This public member variable is where the enumerated value is stored. This is the value that is encoded when one of the encode methods is called. It is also where the decoded result is stored when a decode method is called.

Constructor Detail

Asn1Enumerated

public Asn1Enumerated()
The default constructor sets the enumerated value to undefined.


Asn1Enumerated

public Asn1Enumerated(int value_)
This constructor creates an enumerated object from a integer value.

Parameters:
value_ - Integer value
Method Detail

decode

public void decode(Asn1BerDecodeBuffer buffer,
                   boolean explicit,
                   int implicitLength)
            throws Asn1Exception,
                   java.io.IOException
This method decodes an ASN.1 enumerated value including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses the Basic Encoding Rules (BER).

Specified by:
decode in interface Asn1TypeIF
Overrides:
decode in class Asn1Type
Parameters:
buffer - Decode message buffer object
explicit - Flag indicating element is explicitly tagged
implicitLength - Length of contents if implicit
Throws:
Asn1Exception
java.io.IOException

encode

public int encode(Asn1BerEncodeBuffer buffer,
                  boolean explicit)
           throws Asn1Exception
This method encodes an ASN.1 enumerated value including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses the Basic Encoding Rules (BER).

Specified by:
encode in interface Asn1TypeIF
Overrides:
encode in class Asn1Type
Parameters:
buffer - Encode message buffer object
explicit - Flag indicating explicit tagging should be done
Returns:
Length of component or negative status value
Throws:
Asn1Exception

decode

public void decode(Asn1PerDecodeBuffer buffer,
                   long lower,
                   long upper)
            throws Asn1Exception,
                   java.io.IOException
This method decodes an ASN.1 enumerated value using the Packed Encoding Rules (PER). The decoded result is stored in the public member 'value' in this object.

Parameters:
buffer - PER Decode message buffer object
lower - Smallest enumerated value in the set
upper - Largest enumerated value in the set
Throws:
Asn1Exception
java.io.IOException

encode

public void encode(Asn1PerEncodeBuffer buffer,
                   long lower,
                   long upper)
            throws Asn1Exception
This method encodes an ASN.1 enumerated value using the Packed Encoding Rules (PER).

Parameters:
buffer - PER Encode message buffer object
lower - Smallest enumerated value in the set
upper - Largest enumerated value in the set
Throws:
Asn1Exception

encode

public void encode(Asn1XerEncoder buffer,
                   java.lang.String elemName)
            throws java.io.IOException,
                   Asn1Exception
This method encodes an ASN.1 enumerated value using the XML encoding rules (XER).

Specified by:
encode in interface Asn1TypeIF
Overrides:
encode in class Asn1Type
Parameters:
buffer - Encode message buffer object
elemName - Element name
Throws:
java.io.IOException - Any exception thrown by the underlying stream.
Asn1Exception - Thrown, if operation is failed.

encode

public void encode(Asn1XerEncodeBuffer buffer)
            throws Asn1Exception
This method encodes an ASN.1 enumerated value using the XML encoding rules (XER). This method does not add start and end tags ( and ), only value is encoded ( or ).

Parameters:
buffer - Encode message buffer object
Throws:
Asn1Exception

decodeXER

public void decodeXER(java.lang.String buffer,
                      java.lang.String attrs)
               throws Asn1Exception
This method decodes an ASN.1 enumerated value using the XML encoding rules (XER).

Parameters:
buffer - String containing data to be decoded. The value is assumed to be clear text with wrapping element delimiters (i.e. "<" and "/>") removed.
attrs - Attributes string from element tag
Throws:
Asn1Exception

encode

public void encode(Asn1XmlEncoder buffer,
                   java.lang.String elemName,
                   java.lang.String nsPrefix)
            throws java.io.IOException,
                   Asn1Exception
This method encodes an ASN.1 enumerated value using the XML Encoding as specified in the XML schema standard(asn2xsd).

Specified by:
encode in interface Asn1TypeIF
Overrides:
encode in class Asn1Type
Parameters:
buffer - Encode message buffer object
elemName - Element name
nsPrefix - XML element name space prefix
Throws:
java.io.IOException - Any exception thrown by the underlying stream.
Asn1Exception - Thrown, if operation is failed.

decodeXML

public void decodeXML(java.lang.String buffer,
                      java.lang.String attrs)
               throws Asn1Exception
This method decodes an ASN.1 enumerated value using the XML schema encoding rules.

Specified by:
decodeXML in interface Asn1TypeIF
Overrides:
decodeXML in class Asn1Type
Parameters:
buffer - String containing data to be decoded
attrs - Attributes string from element tag
Throws:
Asn1Exception

equals

public boolean equals(int ivalue)
This method compares this enumerated value to the given value for equality.

Parameters:
ivalue - Enumerated test value

equals

public boolean equals(java.lang.Object o)
This method compares this enumerated value to the given value for equality.

Overrides:
equals in class java.lang.Object
Parameters:
o - Asn1Enumerated object to compare to this object

parseValue

public int parseValue(java.lang.String value)
               throws Asn1Exception
This method will parse the given enumeration text and set the enumerated value. This method is abstract and must be implemented by the extending class.

Returns:
Stringified representation of the value
Throws:
Asn1Exception

toString

public java.lang.String toString()
This method will return the enumeration text for a given enumerated value. This method is abstract and must be implemented by the extending class.

Overrides:
toString in class java.lang.Object
Returns:
Stringified representation of the value

encode

public void encode(Asn1BerOutputStream out,
                   boolean explicit)
            throws Asn1Exception,
                   java.io.IOException
This method encodes and writes to the stream an ASN.1 enumerated value including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses the Basic Encoding Rules (BER).

Specified by:
encode in interface Asn1TypeIF
Overrides:
encode in class Asn1Type
Parameters:
out - BER Output Stream object
explicit - Flag indicating explicit tagging should be done
Throws:
java.io.IOException - Any exception thrown by the underlying OutputStream.
Asn1Exception - Thrown, if operation is failed.

encode

public void encode(Asn1PerOutputStream out,
                   long lower,
                   long upper)
            throws Asn1Exception,
                   java.io.IOException
This method encodes an ASN.1 enumerated value using the Packed Encoding Rules (PER).

Parameters:
out - PER Output Stream object
lower - Smallest enumerated value in the set
upper - Largest enumerated value in the set
Throws:
java.io.IOException - Any exception thrown by the Asn1PerOutputStream.
Asn1Exception - Thrown, if operation is failed.