com.objsys.asn1j.runtime
Class Asn1Real

java.lang.Object
  extended by com.objsys.asn1j.runtime.Asn1Type
      extended by com.objsys.asn1j.runtime.Asn1Real
All Implemented Interfaces:
Asn1TypeIF, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
Asn1BigDecimal

public class Asn1Real
extends Asn1Type

This class represents the ASN.1 REAL built-in type.

See Also:
Serialized Form

Field Summary
static Asn1Tag TAG
          The TAG constant describes the universal tag for this data type (UNIVERSAL 9).
 double value
          This public member variable is where the double value is stored.
 
Fields inherited from class com.objsys.asn1j.runtime.Asn1Type
BIT_STRING, BMPString, BOOLEAN, DATE, DATE_TIME, DURATION, ENUMERATED, EOC, EXTERNAL, GeneralString, GeneralTime, GraphicString, IA5String, INTEGER, mAsn1TypeName, NULL, NumericString, OBJECT_IDENTIFIER, ObjectDescriptor, OCTET_STRING, OID_IRI, OpenType, PrintableString, REAL, RELATIVE_OID_IRI, RelativeOID, SEQUENCE, SET, T61String, TeletexString, TIME, TIME_OF_DAY, UniversalString, UTCTime, UTF8String, VideotexString, VisibleString
 
Constructor Summary
Asn1Real()
          The default constructor sets the double value to zero.
Asn1Real(boolean floatType)
          Deprecated. use Asn1Real() or Asn1Real(double) instead.
Asn1Real(double value_)
          This constructor creates an REAL object from a double value.
 
Method Summary
 void decode(Asn1BerDecodeBuffer buffer, boolean explicit, int implicitLength)
          This method decodes an ASN.1 REAL value including the UNIVERSAL tag value and length if explicit tagging is specified.
 void decode(Asn1JsonDecodeBuffer buffer)
          Decode ASN.1 REAL from JSON.
 void decode(Asn1PerDecodeBuffer buffer)
          This method decodes ASN.1 REAL value using the Packed Encoding Rules (PER).
 void decodeXER(java.lang.String buffer, java.lang.String attrs, boolean decodingElemName, boolean modifiedEncodings)
          This method decodes an ASN.1 real value using XER.
 void decodeXML(java.lang.String buffer, java.lang.String attrs)
          This method decodes an ASN.1 real value using the XML schema encoding rules.
 int encode(Asn1BerEncodeBuffer buffer, boolean explicit)
          This method encodes an ASN.1 REAL 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 real value including the UNIVERSAL tag value and length if explicit tagging is specified.
 void encode(Asn1JsonOutputStream outstream)
          Encode this ASN.1 real value to JSON.
 void encode(Asn1PerEncodeBuffer buffer)
          This method encodes ASN.1 REAL value using the Packed Encoding Rules (PER).
 void encode(Asn1PerOutputStream out)
          This method encodes ASN.1 REAL value using the Packed Encoding Rules (PER).
 void encode(Asn1XerEncoder buffer, java.lang.String elemName)
          This method encodes an ASN.1 real 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 real value according to Obj-Sys encoding rules.
 void encode(Asn1XmlEncoder buffer, java.lang.String elemName, java.lang.String nsPrefix, boolean asText)
          This method encodes an ASN.1 real value according to XER encoding rules.
 void encodeAttribute(Asn1XmlEncoder buffer, java.lang.String attrName)
          This method encodes an ASN.1 real value using the XML Encoding as specified in the W3C XML schema standard(asn2xsd).
 void encodeValue(Asn1XmlEncoder buffer)
          This method encodes an ASN.1 real value using the XML encoding (non-XER).
 boolean equals(double dvalue)
          This method compares this REAL value to the given value for equality.
 boolean equals(java.lang.Object o)
          This method compares this REAL value to the given Object for equality.
 java.lang.String getAsn1TypeName()
          Returns the ASN.1 type name.
 int hashCode()
          Returns the hash code for this REAL object.
static java.lang.String normalizedRealValueToString(double value)
          This method will return a string representation of the normalized REAL value.
 java.lang.String toString()
          This method will return a string representation of the REAL value.
 
Methods inherited from class com.objsys.asn1j.runtime.Asn1Type
clone, decode, decode, decode, decode, decode, encode, encode, equals, getLength, getTypeName, indent, isOpenType, matchTag, matchTag, pdiag, print, setKey, setOpenType
 
Methods inherited from class java.lang.Object
finalize, getClass, 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 9).


value

public transient double value
This public member variable is where the double 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

Asn1Real

public Asn1Real()
The default constructor sets the double value to zero.


Asn1Real

public Asn1Real(double value_)
This constructor creates an REAL object from a double value.

Parameters:
value_ - double value

Asn1Real

public Asn1Real(boolean floatType)
Deprecated. use Asn1Real() or Asn1Real(double) instead.

Parameters:
floatType - ignored
Method Detail

getAsn1TypeName

public java.lang.String getAsn1TypeName()
Returns the ASN.1 type name.

Overrides:
getAsn1TypeName in class Asn1Type
Returns:
The ASN.1 type name REAL.

decode

public void decode(Asn1BerDecodeBuffer buffer,
                   boolean explicit,
                   int implicitLength)
            throws Asn1Exception,
                   java.io.IOException
This method decodes an ASN.1 REAL 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 REAL 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)
            throws Asn1Exception,
                   java.io.IOException
This method decodes ASN.1 REAL value using the Packed Encoding Rules (PER). The length and contents components of the message are decoded. The decoded result is stored in the public member 'value' in this object.

Specified by:
decode in interface Asn1TypeIF
Overrides:
decode in class Asn1Type
Parameters:
buffer - PER Decode message buffer object
Throws:
Asn1Exception
java.io.IOException

encode

public void encode(Asn1PerEncodeBuffer buffer)
            throws Asn1Exception,
                   java.io.IOException
This method encodes ASN.1 REAL value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Specified by:
encode in interface Asn1TypeIF
Overrides:
encode in class Asn1Type
Parameters:
buffer - PER Encode message buffer object
Throws:
Asn1Exception
java.io.IOException

encode

public void encode(Asn1XerEncoder buffer,
                   java.lang.String elemName)
            throws java.io.IOException,
                   Asn1Exception
This method encodes an ASN.1 real 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.

decodeXER

public void decodeXER(java.lang.String buffer,
                      java.lang.String attrs,
                      boolean decodingElemName,
                      boolean modifiedEncodings)
               throws Asn1Exception
This method decodes an ASN.1 real value using XER.

Parameters:
buffer - String containing data to be decoded
attrs - Attributes string from element tag
decodingElemName - Pass true if you the ASN.1 value being decoded was encoded as an empty element and buffer is the element name. Such an encoding occurs for the special real values under basic-XER, canonical-XER, and extended-XER without GLOBAL-DEFAULTS MODIFIED-ENCODINGS present.
modifiedEncodings - Pass true if decoding under extended-XER with GLOBAL-DEFAULTS MODIFIED-ENCODINGS present.
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 real value according to Obj-Sys encoding rules. The value is encoded as text.

Parameters:
buffer - Encode message buffer object
elemName - Element name
Throws:
java.io.IOException
Asn1Exception

encode

public void encode(Asn1XmlEncoder buffer,
                   java.lang.String elemName,
                   java.lang.String nsPrefix,
                   boolean asText)
            throws java.io.IOException,
                   Asn1Exception
This method encodes an ASN.1 real value according to XER encoding rules. It is for use with extended-XER.

Parameters:
buffer - Encode message buffer object
elemName - Element name
asText - If TRUE, encode special values as text. Otherwise, special values are encoded as empty elements.
Throws:
java.io.IOException
Asn1Exception

encodeAttribute

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

Parameters:
buffer - Encode message buffer object
attrName - Attribute name
Throws:
Asn1Exception
java.io.IOException

encodeValue

public void encodeValue(Asn1XmlEncoder buffer)
                 throws java.io.IOException,
                        Asn1Exception
This method encodes an ASN.1 real value using the XML encoding (non-XER).

Parameters:
buffer - Encode message buffer object
value - Value to be encoded.
Throws:
java.io.IOException
Asn1Exception

decodeXML

public void decodeXML(java.lang.String buffer,
                      java.lang.String attrs)
               throws Asn1Exception
This method decodes an ASN.1 real 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

decode

public void decode(Asn1JsonDecodeBuffer buffer)
            throws java.io.IOException
Decode ASN.1 REAL from JSON.

Parameters:
buffer -
Throws:
java.io.IOException

encode

public void encode(Asn1JsonOutputStream outstream)
            throws java.io.IOException
Encode this ASN.1 real value to JSON.

Parameters:
outstream -
Throws:
java.io.IOException

equals

public boolean equals(double dvalue)
This method compares this REAL value to the given value for equality.

Parameters:
dvalue - REAL test value

equals

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

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Returns the hash code for this REAL object.

Overrides:
hashCode in class Asn1Type

toString

public java.lang.String toString()
This method will return a string representation of the REAL value. The format is the ASN.1 value format for this type..

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

normalizedRealValueToString

public static java.lang.String normalizedRealValueToString(double value)
This method will return a string representation of the normalized REAL value. The output format is [-]X.XXXXE[-]XXX. The format is the ASN.1 value format for this type. This means it is a "NumericRealValue" as defined in X.680. Additionally, if there is a leading minus sign, there will be no whitespace between it and the first digit of the integer part, making it also an "XMLNumericRealValue".

Parameters:
value - value to be normalized and stringified.
isXer - true, if this value is being encoded for XER.
Returns:
the string described above

encode

public void encode(Asn1BerOutputStream out,
                   boolean explicit)
            throws Asn1Exception,
                   java.io.IOException
This method encodes and writes to the stream an ASN.1 real 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)
            throws Asn1Exception,
                   java.io.IOException
This method encodes ASN.1 REAL value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Specified by:
encode in interface Asn1TypeIF
Overrides:
encode in class Asn1Type
Parameters:
out - PER Output Stream object
Throws:
java.io.IOException - Any exception thrown by the Asn1PerOutputStream.
Asn1Exception - Thrown, if operation is failed.