com.objsys.asn1j.runtime
Class Asn1VarWidthCharString

java.lang.Object
  extended by com.objsys.asn1j.runtime.Asn1Type
      extended by com.objsys.asn1j.runtime.Asn1CharString
          extended by com.objsys.asn1j.runtime.Asn1VarWidthCharString
All Implemented Interfaces:
Asn1TypeIF, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
Asn1GeneralString, Asn1GraphicString, Asn1ObjectDescriptor, Asn1T61String, Asn1VideotexString

public abstract class Asn1VarWidthCharString
extends Asn1CharString

This is an abstract base class for holding the ASN.1 variable width character string types (GraphicString, GeneralString, TeletexString, T61String, VideotexString, ObjectDescriptor).

See Also:
Serialized Form

Field Summary
static int BITSPERCHAR_A
          The BITSPERCHAR_A constant specifies the number of bits per character for PER (aligned).
static int BITSPERCHAR_U
          The BITSPERCHAR_U constant specifies the number of bits per character for PER (unaligned).
 
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, 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
protected Asn1VarWidthCharString(short typeCode)
          The default constructor creates an empty string object.
protected Asn1VarWidthCharString(java.lang.String data, short typeCode)
          This version of the constructor can be used to set the string value member variable to the given string.
 
Method Summary
 void decode(Asn1PerDecodeBuffer buffer)
          This method decodes an ASN.1 character string value in accordance with the packed encoding rules (PER).
 void decode(Asn1PerDecodeBuffer buffer, long lower, long upper)
          This overloaded version of the decode method decodes an ASN.1 character string value in accordance with the packed encoding rules (PER).
 void encode(Asn1PerEncodeBuffer buffer)
          This method encodes an ASN.1 character string value in accordance with the packed encoding rules (PER).
 void encode(Asn1PerEncodeBuffer buffer, long lower, long upper)
          This overloaded version of the encode method encodes an ASN.1 character string value in accordance with the packed encoding rules (PER).
 void encode(Asn1PerOutputStream out)
          This method encodes an ASN.1 character string value in accordance with the packed encoding rules (PER) directly into the stream.
 void encode(Asn1PerOutputStream out, long lower, long upper)
          This overloaded version of the encode method encodes an ASN.1 character string value directly into the stream, in accordance with the packed encoding rules (PER).
 
Methods inherited from class com.objsys.asn1j.runtime.Asn1CharString
decode, decode, decode, decode, decodeXER, decodeXML, encode, encode, encode, encode, encode, encode, equals, equals, getAsn1TypeName, getLength, hashCode, toString, validate
 
Methods inherited from class com.objsys.asn1j.runtime.Asn1Type
clone, decode, decode, decode, decode, decode, decode, encode, encode, 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

BITSPERCHAR_A

public static final int BITSPERCHAR_A
The BITSPERCHAR_A constant specifies the number of bits per character for PER (aligned).

See Also:
Constant Field Values

BITSPERCHAR_U

public static final int BITSPERCHAR_U
The BITSPERCHAR_U constant specifies the number of bits per character for PER (unaligned).

See Also:
Constant Field Values
Constructor Detail

Asn1VarWidthCharString

protected Asn1VarWidthCharString(short typeCode)
The default constructor creates an empty string object.

Parameters:
typeCode - Universal ID code for ASN.1 character string

Asn1VarWidthCharString

protected Asn1VarWidthCharString(java.lang.String data,
                                 short typeCode)
This version of the constructor can be used to set the string value member variable to the given string.

Parameters:
data - Character string
typeCode - Universal ID code for ASN.1 character string
Method Detail

decode

public void decode(Asn1PerDecodeBuffer buffer)
            throws Asn1Exception,
                   java.io.IOException
This method decodes an ASN.1 character string value in accordance with the packed encoding rules (PER). This version of the method assumes no permitted alphabet or size constraints. Decoded characters are assigned as-is to the output string. The decoded result is stored in the public value member variable in the Asn1CharString base class.

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 overloaded version of the decode method decodes an ASN.1 character string value in accordance with the packed encoding rules (PER). This version of the method assumes a size constraint is present. A permitted alphabet may be passed, but it will be ignored. The decoded result is stored in the public value member variable in the Asn1CharString base class.

Parameters:
buffer - Decode message buffer object
lower - Effective size constraint lower bound
upper - Effective size constraint upper bound
Throws:
Asn1Exception
java.io.IOException

encode

public void encode(Asn1PerEncodeBuffer buffer)
            throws Asn1Exception,
                   java.io.IOException
This method encodes an ASN.1 character string value in accordance with the packed encoding rules (PER). This version of the method assumes no permitted alphabet or size constraints. The value to encode is stored in the public value member variable in the Asn1CharString base 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 overloaded version of the encode method encodes an ASN.1 character string value in accordance with the packed encoding rules (PER). This version of the method assumes a size constraint is present. A permitted alphabet may be passed, but it will be ignored. The value to encode is stored in the public value member variable in the Asn1CharString base class.

Parameters:
buffer - Encode message buffer object
lower - Effective size constraint lower bound
upper - Effective size constraint upper bound
Throws:
Asn1Exception
java.io.IOException

encode

public void encode(Asn1PerOutputStream out)
            throws Asn1Exception,
                   java.io.IOException
This method encodes an ASN.1 character string value in accordance with the packed encoding rules (PER) directly into the stream. This version of the method assumes no permitted alphabet or size constraints. The value to encode is stored in the public value member variable in the Asn1CharString base class.

Specified by:
encode in interface Asn1TypeIF
Overrides:
encode in class Asn1Type
Parameters:
out - PER Encode message stream object
Throws:
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 overloaded version of the encode method encodes an ASN.1 character string value directly into the stream, in accordance with the packed encoding rules (PER). This version of the method assumes a size constraint is present. A permitted alphabet may be passed, but it will be ignored. The value to encode is stored in the public value member variable in the Asn1CharString base class.

Parameters:
out - PER Encode message stream object
lower - Effective size constraint lower bound
upper - Effective size constraint upper bound
Throws:
IOException - Any exception thrown by the Asn1PerOutputStream.
Asn1Exception - Thrown, if operation is failed.