com.objsys.asn1j.runtime
Class Asn1UTF8String

java.lang.Object
  extended by com.objsys.asn1j.runtime.Asn1Type
      extended by com.objsys.asn1j.runtime.Asn1CharString
          extended by com.objsys.asn1j.runtime.Asn1UTF8String
All Implemented Interfaces:
Asn1TypeIF, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
Asn1Real10, Asn1XmlAnyElem

public class Asn1UTF8String
extends Asn1CharString

This is a container class for holding the components of an ASN.1 UTF-8 string value.

See Also:
Serialized Form

Field Summary
static Asn1Tag TAG
          The TAG constant describes the universal tag for this data type (UNIVERSAL 12).
 
Fields inherited from class com.objsys.asn1j.runtime.Asn1CharString
mStringBuffer, value
 
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, 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
Asn1UTF8String()
          The default constructor creates an empty time string object.
Asn1UTF8String(java.lang.String data)
          This version of the constructor can be used to set the string value member variable to the given string value.
 
Method Summary
static java.lang.String decode(Asn1BerDecodeBuffer buffer, Asn1Tag explicitTag, int implicitLength)
          This method decodes an ASN.1 UTF-8 string value including the UNIVERSAL tag value and length if explicit tagging is specified.
 void decode(Asn1BerDecodeBuffer buffer, boolean explicit, int implicitLength)
          This method decodes an ASN.1 UTF-8 string value including the UNIVERSAL tag value and length if explicit tagging is specified.
 void decode(Asn1PerDecodeBuffer buffer)
          This method decodes an ASN.1 UTF-8 string value using the packed encoding rules (PER).
 void decode(Asn1PerDecodeBuffer buffer, long lower, long upper)
          This method decodes a sized ASN.1 UTF-8 string value using the packed encoding rules (PER).
static java.lang.String decodeUTF8(Asn1PerDecodeBuffer buffer)
          This method decodes an ASN.1 UTF-8 string value using the packed encoding rules (PER).
static int encode(Asn1BerEncodeBuffer buffer, Asn1Tag explicitTag, java.lang.String value)
          This method encodes a ASN.1 UTF8String.
 int encode(Asn1BerEncodeBuffer buffer, boolean explicit)
          This method encodes an ASN.1 string type.
static void encode(Asn1BerOutputStream out, Asn1Tag explicitTag, java.lang.String value)
          This method encodes the given string using the BER encoding rules for UTF8String, including the given tag, if provided.
 void encode(Asn1BerOutputStream out, boolean explicit)
          This method encodes and writes to the stream an ASN.1 UTF8 string value including the UNIVERSAL tag value and length if explicit tagging is specified.
 void encode(Asn1PerEncodeBuffer buffer)
          This method encodes an unconstrained ASN.1 UTF-8 string value using the packed encoding rules (PER).
 void encode(Asn1PerEncodeBuffer buffer, long lower, long upper)
          This method encodes a size-constrained ASN.1 UTF-8 string value using the packed encoding rules (PER).
static void encode(Asn1PerEncodeBuffer buffer, java.lang.String value)
          This method encodes a string using the packed encoding rules (PER) specified for ASN.1 UTF8String.
 void encode(Asn1PerOutputStream out)
          This method encodes an unconstrained ASN.1 UTF-8 string value using the packed encoding rules (PER).
 void encode(Asn1PerOutputStream out, long lower, long upper)
          This method encodes a size-constrained ASN.1 UTF-8 string value using the packed encoding rules (PER).
 void setAnyAttribute(java.lang.String qname, java.lang.String val)
          This method will set the anyAttribute type value for given qname and value of XML attribute
 
Methods inherited from class com.objsys.asn1j.runtime.Asn1CharString
decode, decode, decode, decode, decodeXER, decodeXML, encode, encode, encode, encode, encode, encode, equals, equals, getLength, hashCode, toString, validate
 
Methods inherited from class com.objsys.asn1j.runtime.Asn1Type
clone, decode, decode, decode, decode, decode, encode, encode, equals, 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 12).

Constructor Detail

Asn1UTF8String

public Asn1UTF8String()
The default constructor creates an empty time string object.


Asn1UTF8String

public Asn1UTF8String(java.lang.String data)
This version of the constructor can be used to set the string value member variable to the given string value.

Method Detail

decode

public static java.lang.String decode(Asn1BerDecodeBuffer buffer,
                                      Asn1Tag explicitTag,
                                      int implicitLength)
                               throws Asn1Exception,
                                      java.io.IOException
This method decodes an ASN.1 UTF-8 string value including the UNIVERSAL tag value and length if explicit tagging is specified. This string type uses variable length character encodings. BER encodes UTF8String, OID-IRI, and RELATIVE-OID-IRI in essentially the same way; this permits sharing of the implementation.

Parameters:
buffer - Decode message buffer object
explicitTag - Tag to explicitly match, or null if none
implicitLength - Length of contents if explicitTag is not given
Throws:
Asn1Exception
java.io.IOException

decode

public void decode(Asn1BerDecodeBuffer buffer,
                   boolean explicit,
                   int implicitLength)
            throws Asn1Exception,
                   java.io.IOException
This method decodes an ASN.1 UTF-8 string value including the UNIVERSAL tag value and length if explicit tagging is specified. This string type uses variable length character encodings.

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 static int encode(Asn1BerEncodeBuffer buffer,
                         Asn1Tag explicitTag,
                         java.lang.String value)
                  throws Asn1Exception
This method encodes a ASN.1 UTF8String. Nearly the same encoding is shared by OID-IRI and RELATIVE-OID_IRI; this method facilitates sharing the implementation. The UNIVERSAL tag value and length is also encoded if explicit tagging is specified.

Parameters:
buffer - Encode message buffer object
explicitTag - Tag to explicitly encode, or null for none.
value - The value to encode. For OID-IRI and RELATIVE-OID-IRI, whitespace should already have been removed.
Returns:
Length in octets of encoded component
Throws:
Asn1Exception

encode

public int encode(Asn1BerEncodeBuffer buffer,
                  boolean explicit)
           throws Asn1Exception
This method encodes an ASN.1 string type. The UNIVERSAL tag value and length is also encoded if explicit tagging is specified.

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 in octets of encoded component
Throws:
Asn1Exception

decodeUTF8

public static java.lang.String decodeUTF8(Asn1PerDecodeBuffer buffer)
                                   throws Asn1Exception,
                                          java.io.IOException
This method decodes an ASN.1 UTF-8 string value using the packed encoding rules (PER).

Parameters:
buffer - Decode message buffer object
Throws:
Asn1Exception
java.io.IOException

decode

public void decode(Asn1PerDecodeBuffer buffer)
            throws Asn1Exception,
                   java.io.IOException
This method decodes an ASN.1 UTF-8 string value using the packed encoding rules (PER). The string is assumed to not contain a size constraint.

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

decode

public void decode(Asn1PerDecodeBuffer buffer,
                   long lower,
                   long upper)
            throws Asn1Exception,
                   java.io.IOException
This method decodes a sized ASN.1 UTF-8 string value using the packed encoding rules (PER).

Parameters:
buffer - Decode message buffer object
lower - Lower bound (inclusive) of size constraint
upper - Upper bound (inclusive) of size constraint
Throws:
Asn1Exception
java.io.IOException

encode

public static void encode(Asn1PerEncodeBuffer buffer,
                          java.lang.String value)
                   throws Asn1Exception,
                          java.io.IOException
This method encodes a string using the packed encoding rules (PER) specified for ASN.1 UTF8String. These rules are essentially shared with OID-IRI and RELATIVE-OID-IRI.

Parameters:
buffer - Encode message buffer object
value - The value to be encoded. In the case of OID-IRI and RELATIVE-OID-IRI, should not contain whitespace.
Throws:
Asn1Exception
java.io.IOException

encode

public void encode(Asn1PerEncodeBuffer buffer)
            throws Asn1Exception,
                   java.io.IOException
This method encodes an unconstrained ASN.1 UTF-8 string value using the packed encoding rules (PER). The value to be encoded is stored in the 'value' public member variable within this class.

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

encode

public void encode(Asn1PerEncodeBuffer buffer,
                   long lower,
                   long upper)
            throws Asn1Exception,
                   java.io.IOException
This method encodes a size-constrained ASN.1 UTF-8 string value using the packed encoding rules (PER). The value to be encoded is stored in the 'value' public member variable within this class.

Parameters:
buffer - Encode message buffer object
lower - Lower bound (inclusive) of size constraint
upper - Upper bound (inclusive) of size constraint
Throws:
Asn1Exception
java.io.IOException

setAnyAttribute

public void setAnyAttribute(java.lang.String qname,
                            java.lang.String val)
This method will set the anyAttribute type value for given qname and value of XML attribute

Parameters:
qname - The qualified (prefixed) name
value - The attribute value

encode

public static void encode(Asn1BerOutputStream out,
                          Asn1Tag explicitTag,
                          java.lang.String value)
                   throws Asn1Exception,
                          java.io.IOException
This method encodes the given string using the BER encoding rules for UTF8String, including the given tag, if provided.

Parameters:
out - BER Output Stream object
explicitTag - tag to encode or null for none
value - The value to encode. For OID-IRI and RELATIVE-OID-IRI, should not contain whitespace.
Throws:
java.io.IOException - Any exception thrown by the underlying OutputStream.
Asn1Exception - Thrown, if operation is failed.

encode

public void encode(Asn1BerOutputStream out,
                   boolean explicit)
            throws Asn1Exception,
                   java.io.IOException
This method encodes and writes to the stream an ASN.1 UTF8 string 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 an unconstrained ASN.1 UTF-8 string value using the packed encoding rules (PER). The value to be encoded is stored in the 'value' public member variable within this class.

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.

encode

public void encode(Asn1PerOutputStream out,
                   long lower,
                   long upper)
            throws Asn1Exception,
                   java.io.IOException
This method encodes a size-constrained ASN.1 UTF-8 string value using the packed encoding rules (PER). The value to be encoded is stored in the 'value' public member variable within this class.

Parameters:
out - PER Output Stream object
lower - Lower bound (inclusive) of size constraint
upper - Upper bound (inclusive) of size constraint
Throws:
java.io.IOException - Any exception thrown by the Asn1PerOutputStream.
Asn1Exception - Thrown, if operation is failed.