com.objsys.asn1j.runtime
Class Asn1BMPString

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

public class Asn1BMPString
extends Asn1CharString

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

See Also:
Serialized Form

Field Summary
static int BITSPERCHAR
          The BITSPERCHAR constant specifies the number of bits per character for PER (aligned or unaligned).
static Asn1CharSet CHARSET
           
static Asn1Tag TAG
          The TAG constant describes the universal tag for this data type (UNIVERSAL 30).
 
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
Asn1BMPString()
          The default constructor creates an empty string object.
Asn1BMPString(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
 void decode(Asn1BerDecodeBuffer buffer, boolean explicit, int implicitLength)
          This method decodes an ASN.1 BMP string value including the UNIVERSAL tag value and length if explicit tagging is specified.
 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, Asn1CharSet charSet)
          This method decodes an ASN.1 character string value in accordance with the packed encoding rules (PER).
 void decode(Asn1PerDecodeBuffer buffer, Asn1CharSet charSet, 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).
 int encode(Asn1BerEncodeBuffer buffer, boolean explicit)
          This method encodes an ASN.1 string type.
 void encode(Asn1BerOutputStream out, boolean explicit)
          This method encodes and writes to the stream an ASN.1 BMP string including the UNIVERSAL tag value and length if explicit tagging is specified.
 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, Asn1CharSet charSet)
          This method encodes an ASN.1 character string value in accordance with the packed encoding rules (PER).
 void encode(Asn1PerEncodeBuffer buffer, Asn1CharSet charSet, 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 BMP string value in accordance with the packed encoding rules (PER).
 void encode(Asn1PerOutputStream out, Asn1CharSet charSet)
          This method encodes an ASN.1 BMP string value in accordance with the packed encoding rules (PER).
 void encode(Asn1PerOutputStream out, Asn1CharSet charSet, long lower, long upper)
          This overloaded version of the encode method encodes an ASN.1 BMP string value 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, 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

CHARSET

public static final Asn1CharSet CHARSET

BITSPERCHAR

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

See Also:
Constant Field Values

TAG

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

Constructor Detail

Asn1BMPString

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


Asn1BMPString

public Asn1BMPString(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 void decode(Asn1BerDecodeBuffer buffer,
                   boolean explicit,
                   int implicitLength)
            throws Asn1Exception,
                   java.io.IOException
This method decodes an ASN.1 BMP string value including the UNIVERSAL tag value and length if explicit tagging is specified. This string type uses 16-bit characters.

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 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

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,
                   Asn1CharSet charSet)
            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 size constraints but allows a permitted alphabet character set to be specified. 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.

Parameters:
buffer - Decode message buffer object
charSet - Object representing permitted alphabet constraint character set (optional)
Throws:
Asn1Exception
java.io.IOException

decode

public void decode(Asn1PerDecodeBuffer buffer,
                   Asn1CharSet charSet,
                   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 both a size constraint and permitted alphabet constraint are present. The decoded result is stored in the public value member variable in the Asn1CharString base class.

Parameters:
buffer - Decode message buffer object
charSet - Object representing permitted alphabet constraint character set (optional)
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,
                   Asn1CharSet charSet)
            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 size constraints but does allow a permitted alphabet character set to be specified. The value to encode is stored in the public value member variable in the Asn1CharString base class.

Parameters:
buffer - Encode message buffer object
charSet - Object representing permitted alphabet constraint character set (optional)
Throws:
Asn1Exception
java.io.IOException

encode

public void encode(Asn1PerEncodeBuffer buffer,
                   Asn1CharSet charSet,
                   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 both a size constraint and permitted alphabet constraint are present. The value to encode is stored in the public value member variable.

Parameters:
buffer - Encode message buffer object
charSet - Object representing the permitted alphabet constraint character set
lower - Effective size constraint lower bound
upper - Effective size constraint upper bound
Throws:
Asn1Exception
java.io.IOException

encode

public void encode(Asn1BerOutputStream out,
                   boolean explicit)
            throws Asn1Exception,
                   java.io.IOException
This method encodes and writes to the stream an ASN.1 BMP string 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 ASN.1 BMP 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:
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,
                   Asn1CharSet charSet)
            throws Asn1Exception,
                   java.io.IOException
This method encodes an ASN.1 BMP string value in accordance with the packed encoding rules (PER). This version of the method assumes no size constraints but does allow a permitted alphabet character set to be specified. The value to encode is stored in the public value member variable in the Asn1CharString base class.

Parameters:
out - PER Output Stream object
charSet - Object representing permitted alphabet constraint character set (optional)
Throws:
java.io.IOException - Any exception thrown by the Asn1PerOutputStream.
Asn1Exception - Thrown, if operation is failed.

encode

public void encode(Asn1PerOutputStream out,
                   Asn1CharSet charSet,
                   long lower,
                   long upper)
            throws Asn1Exception,
                   java.io.IOException
This overloaded version of the encode method encodes an ASN.1 BMP string value in accordance with the packed encoding rules (PER). This version of the method assumes both a size constraint and permitted alphabet constraint are present. The value to encode is stored in the public value member variable.

Parameters:
out - PER Output Stream object
charSet - Object representing the permitted alphabet constraint character set (optional)
lower - Effective size constraint lower bound
upper - Effective size constraint upper bound
Throws:
java.io.IOException - Any exception thrown by the Asn1PerOutputStream.
Asn1Exception - Thrown, if operation is failed.