Asn1UniversalString Class Reference

Inheritance diagram for Asn1UniversalString:
Asn1Type Asn1TypeIF

List of all members.

Public Member Functions

 Asn1UniversalString (System.String value)
 Asn1UniversalString (int[] value)
 Asn1UniversalString ()
virtual void Decode (Asn1JsonDecodeBuffer buffer)
void Decode (Asn1OerDecodeBuffer buffer, int length)
override void Decode (Asn1OerDecodeBuffer buffer)
virtual void Decode (Asn1PerDecodeBuffer buffer, Asn1CharSet charSet, long lower, long upper)
virtual void Decode (Asn1PerDecodeBuffer buffer, Asn1CharSet charSet)
override void Decode (Asn1PerDecodeBuffer buffer)
override void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
virtual void DecodeXER (System.String buffer, System.String attrs)
override void DecodeXML (System.String buffer, System.String attrs)
virtual void Encode (Asn1PerOutputStream outs, Asn1CharSet charSet, long lower, long upper)
virtual void Encode (Asn1PerOutputStream outs, Asn1CharSet charSet)
override void Encode (Asn1PerOutputStream outs)
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
virtual void Encode (Asn1JsonOutputStream outs)
override void Encode (Asn1XmlEncoder buffer, System.String elemName, System.String nsPrefix)
override void Encode (Asn1XerEncoder buffer, System.String elemName)
virtual void Encode (Asn1OerEncodeBuffer buffer, bool withLength)
override void Encode (Asn1OerEncodeBuffer buffer)
virtual void Encode (Asn1PerEncodeBuffer buffer, Asn1CharSet charSet, long lower, long upper)
virtual void Encode (Asn1PerEncodeBuffer buffer, Asn1CharSet charSet)
override void Encode (Asn1PerEncodeBuffer buffer)
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)
virtual void EncodeData (Asn1XmlXerEncoder buffer)
override bool Equals (System.Object value)
override int GetHashCode ()
override System.String ToString ()
bool validate (Asn1CharSet charSet)

Public Attributes

const int BITSPERCHAR = 32
int[] mValue

Static Public Attributes

static new readonly Asn1Tag _TAG

Protected Member Functions

virtual internal void Decode (Asn1PerDecodeBuffer buffer, int abpc, int ubpc, Asn1CharSet charSet, long lower, long upper)
virtual internal void Decode (Asn1PerDecodeBuffer buffer, int nchars, int abpc, int ubpc, Asn1CharSet charSet, int startIdx)
virtual internal void Decode (Asn1PerDecodeBuffer buffer, int abpc, int ubpc, Asn1CharSet charSet)
virtual internal void Encode (Asn1PerOutputStream outs, int abpc, int ubpc, Asn1CharSet charSet, long lower, long upper)
virtual internal void Encode (Asn1PerOutputStream outs, int abpc, int ubpc, Asn1CharSet charSet)
virtual internal void Encode (Asn1PerOutputStream outs, int nchars, int offset, int abpc, int ubpc, Asn1CharSet charSet)
virtual internal void Encode (Asn1PerEncodeBuffer buffer, int abpc, int ubpc, Asn1CharSet charSet, long lower, long upper)
virtual internal void Encode (Asn1PerEncodeBuffer buffer, int abpc, int ubpc, Asn1CharSet charSet)
virtual internal void Encode (Asn1PerEncodeBuffer buffer, int nchars, int offset, int abpc, int ubpc, Asn1CharSet charSet)

Protected Attributes

internal System.Text.StringBuilder mStringBuffer

Properties

override int Length [get]

Detailed Description

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


Constructor & Destructor Documentation

This constructor creates an empty string that can be used in a Decode method call to receive a string value.

Asn1UniversalString ( int[]  value  ) 

This constructor initializes the universal string from the given an array of 32-bit integer value.

Parameters:
value universal string value as array of 32-bit int
Asn1UniversalString ( System.String  value  ) 

This constructor converts a standard C# string value into a universal string.

Parameters:
value universal string value as string

Member Function Documentation

virtual void Decode ( Asn1JsonDecodeBuffer  buffer  )  [virtual]

Decode ASN.1 restricted character string from JSON.

void Decode ( Asn1OerDecodeBuffer  buffer,
int  length 
)

Decode the value in accordance with OER.

This class's implementation decodes a string of the given length. This method is final as I don't see any reason for overriding it.

Parameters:
length Length of string to decode, in characters.
override void Decode ( Asn1OerDecodeBuffer  buffer  )  [virtual]

Decode the value in accordance with OER.

This class's implementation decodes the string with a length determinant. If a subclass should be decoded without a length determinant, it should override this method to invoke Decode(buffer, length). Subclasses may override this to add constraint checks after invoking this method to decode the string.

Reimplemented from Asn1Type.

virtual internal void Decode ( Asn1PerDecodeBuffer  buffer,
int  abpc,
int  ubpc,
Asn1CharSet  charSet,
long  lower,
long  upper 
) [protected, virtual]

This overloaded version of the Decode method decodes an ASN.1 UniversalString value in accordance with the packed encoding rules (PER). This version of the method assumes a size constraint is present but no permitted alphabet constraint.

The decoded result is stored in the public mValue member variable.

Parameters:
buffer Decode message buffer object
abpc Number of bits per character (aligned)
ubpc Number of bits per character (unaligned)
charSet Object representing permitted alphabet constraint character set (optional)
lower Effective size constraint lower bound
upper Effective size constraint upper bound
virtual internal void Decode ( Asn1PerDecodeBuffer  buffer,
int  nchars,
int  abpc,
int  ubpc,
Asn1CharSet  charSet,
int  startIdx 
) [protected, virtual]

This method decodes the contents of a UniversalString. This version of the method assumes a permitted alphabet constraint is in place.

Parameters:
buffer Decode message buffer object
nchars Number of characters
abpc Number of bits per character (aligned)
ubpc Number of bits per character (unaligned)
charSet Object representing the permitted alphabet constraint character set (optional)
startIdx Start index to fill in value array
virtual internal void Decode ( Asn1PerDecodeBuffer  buffer,
int  abpc,
int  ubpc,
Asn1CharSet  charSet 
) [protected, virtual]

This method decodes an ASN.1 UniversalString value in accordance with the packed encoding rules (PER). This version of the method assumes that a permitted alphabet constraint has been specified that would reduce the the number of bits-per-character from the default character set. It also assumes a general length determinant is present (i.e. there is not size constraint). The decoded result is stored in the public mValue member variable.

Parameters:
buffer Decode message buffer object
abpc Number of bits per character (aligned)
ubpc Number of bits per character (unaligned)
charSet Object representing the permitted alphabet constraint character set (optional)
virtual void Decode ( Asn1PerDecodeBuffer  buffer,
Asn1CharSet  charSet,
long  lower,
long  upper 
) [virtual]

This overloaded version of the Decode method decodes an ASN.1 UniversalString value in accordance with the packed encoding rules (PER). This version of the method assumes a size constraint is present but no permitted alphabet constraint.

The decoded result is stored in the public mValue member variable.

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
virtual void Decode ( Asn1PerDecodeBuffer  buffer,
Asn1CharSet  charSet 
) [virtual]

This method decodes an ASN.1 UniversalString 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 mValue member variable.

Parameters:
buffer Decode message buffer object
charSet Object representing permitted alphabet constraint character set (optional)
override void Decode ( Asn1PerDecodeBuffer  buffer  )  [virtual]

This method decodes an ASN.1 UniversalString 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 mValue member variable.

Parameters:
buffer Decode message buffer object

Reimplemented from Asn1Type.

override void Decode ( Asn1BerDecodeBuffer  buffer,
bool  explicitTagging,
int  implicitLength 
) [virtual]

This method decodes an ASN.1 universal string value including the UNIVERSAL tag value and length if explicit tagging is specified.

Parameters:
buffer Decode message buffer object
explicitTagging Flag indicating element is explicitly tagged
implicitLength Length of contents if implicit

Reimplemented from Asn1Type.

virtual void DecodeXER ( System.String  buffer,
System.String  attrs 
) [virtual]

This method decodes an ASN.1 Universal String value using the XML encoding rules (XER).

Parameters:
buffer String containing data to be decoded
attrs Attributes string from element tag
override void DecodeXML ( System.String  buffer,
System.String  attrs 
)

This method decodes an ASN.1 Universal String value using the XML schema encoding rules(asn2xsd).

Parameters:
buffer String containing data to be decoded
attrs Attributes string from element tag
virtual internal void Encode ( Asn1PerOutputStream  outs,
int  abpc,
int  ubpc,
Asn1CharSet  charSet,
long  lower,
long  upper 
) [protected, virtual]

This overloaded version of the encode method encodes an ASN.1 UniversalString value in accordance with the packed encoding rules (PER). This version of the method assumes a size constraint is present but no permitted alphabet constraint.

The value to encode is stored in the public mValue member variable.

Also throws any exception thrown by the Asn1PerOutputStream.

Parameters:
outs PER Output Stream object
abpc Number of bits per character (aligned)
ubpc Number of bits per character (unaligned)
charSet Object representing the permitted alphabet constraint character set (optional)
lower Effective size constraint lower bound
upper Effective size constraint upper bound
Exceptions:
Asn1Exception Thrown, if operation is failed.
virtual internal void Encode ( Asn1PerOutputStream  outs,
int  abpc,
int  ubpc,
Asn1CharSet  charSet 
) [protected, virtual]

This method encodes an ASN.1 UniversalString 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 mValue member variable.

Also throws any exception thrown by the Asn1PerOutputStream.

Parameters:
outs PER Output Stream object
abpc Number of bits per character (aligned)
ubpc Number of bits per character (unaligned)
charSet Object representing the permitted alphabet constraint character set (optional)
Exceptions:
Asn1Exception Thrown, if operation is failed.
virtual internal void Encode ( Asn1PerOutputStream  outs,
int  nchars,
int  offset,
int  abpc,
int  ubpc,
Asn1CharSet  charSet 
) [protected, virtual]

This method encodes the contents of a UniversalString type. This version assumes a permitted alphabet constraint was specified.

Also throws any exception thrown by the Asn1PerOutputStream.

Parameters:
outs PER Output Stream object
nchars Number of characters from string to encode
offset Offset to first char in string to encode
abpc Number of bits per character (aligned)
ubpc Number of bits per character (unaligned)
charSet Object representing permitted alphabet constraint character set (optional)
Exceptions:
Asn1Exception Thrown, if operation is failed.
virtual void Encode ( Asn1PerOutputStream  outs,
Asn1CharSet  charSet,
long  lower,
long  upper 
) [virtual]

This overloaded version of the encode method encodes an ASN.1 UniversalString 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 mValue member variable.

Also throws any exception thrown by the Asn1PerOutputStream.

Parameters:
outs PER Output Stream object
charSet Object representing the permitted alphabet constraint character set
lower Effective size constraint lower bound
upper Effective size constraint upper bound
Exceptions:
Asn1Exception Thrown, if operation is failed.
virtual void Encode ( Asn1PerOutputStream  outs,
Asn1CharSet  charSet 
) [virtual]

This method encodes an ASN.1 UniversalString 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 mValue member variable.

Also throws any exception thrown by the Asn1PerOutputStream.

Parameters:
outs PER Output Stream object
charSet Object representing permitted alphabet constraint character set (optional)
Exceptions:
Asn1Exception Thrown, if operation is failed.
override void Encode ( Asn1PerOutputStream  outs  )  [virtual]

This method encodes an ASN.1 UniversalString 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 mValue member variable.

Also throws any exception thrown by the Asn1PerOutputStream.

Parameters:
outs PER Output Stream object
Exceptions:
Asn1Exception Thrown, if operation is failed.

Reimplemented from Asn1Type.

override void Encode ( Asn1BerOutputStream  outs,
bool  explicitTagging 
) [virtual]

This method encodes and writes to the stream an ASN.1 universal string including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses the Basic Encoding Rules (BER).

Throws, Exception thrown by C# System.IO.Stream for I/O error

Parameters:
outs BER Output Stream object
explicitTagging Flag indicating explicit tagging should be done
Exceptions:
Asn1Exception Thrown, if operation is failed.

Reimplemented from Asn1Type.

virtual void Encode ( Asn1JsonOutputStream  outs  )  [virtual]

Encode the value of this object as a JSON string.

Parameters:
out 
override void Encode ( Asn1XmlEncoder  buffer,
System.String  elemName,
System.String  nsPrefix 
) [virtual]

This method encodes an ASN.1 Universal String value with element and namespace prefix name tag using the XML Encoding as specified in the XML schema standard(asn2xsd).

Parameters:
buffer Encode message buffer object
elemName Element name
nsPrefix Element namespace value

Reimplemented from Asn1Type.

override void Encode ( Asn1XerEncoder  buffer,
System.String  elemName 
) [virtual]

This method encodes an ASN.1 Universal String value using the XML encoding rules (XER).

Parameters:
buffer Encode message buffer object
elemName Element name

Reimplemented from Asn1Type.

virtual void Encode ( Asn1OerEncodeBuffer  buffer,
bool  withLength 
) [virtual]

Encode the string, with or without a length determinant.

Subclasses may override this (e.g. to add constraint checks) and invoke this method to perform the encoding.

Parameters:
withLength true if a length determinant should be encoded.
override void Encode ( Asn1OerEncodeBuffer  buffer  )  [virtual]

Encode the value in accordance with OER.

This class's implementation invokes encode(buffer, true) to encode the string with a length determinant. If a subclass should be encoded without a length determinant, it should override this to invoke Encode(buffer, false).

Reimplemented from Asn1Type.

virtual internal void Encode ( Asn1PerEncodeBuffer  buffer,
int  abpc,
int  ubpc,
Asn1CharSet  charSet,
long  lower,
long  upper 
) [protected, virtual]

This overloaded version of the encode method encodes an ASN.1 UniversalString value in accordance with the packed encoding rules (PER). This version of the method assumes a size constraint is present but no permitted alphabet constraint.

The value to encode is stored in the public mValue member variable.

Parameters:
buffer Encode message buffer object
abpc Number of bits per character (aligned)
ubpc Number of bits per character (unaligned)
charSet Object representing the permitted alphabet constraint character set (optional)
lower Effective size constraint lower bound
upper Effective size constraint upper bound
virtual internal void Encode ( Asn1PerEncodeBuffer  buffer,
int  abpc,
int  ubpc,
Asn1CharSet  charSet 
) [protected, virtual]

This method encodes an ASN.1 UniversalString 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 mValue member variable.

Parameters:
buffer Encode message buffer object
abpc Number of bits per character (aligned)
ubpc Number of bits per character (unaligned)
charSet Object representing the permitted alphabet constraint character set (optional)
virtual internal void Encode ( Asn1PerEncodeBuffer  buffer,
int  nchars,
int  offset,
int  abpc,
int  ubpc,
Asn1CharSet  charSet 
) [protected, virtual]

This method encodes the contents of a UniversalString type. This version assumes a permitted alphabet constraint was specified.

Parameters:
buffer Encode message buffer object
nchars Number of characters from string to encode
offset Offset to first char in string to encode
abpc Number of bits per character (aligned)
ubpc Number of bits per character (unaligned)
charSet Object representing permitted alphabet constraint character set (optional)
virtual void Encode ( Asn1PerEncodeBuffer  buffer,
Asn1CharSet  charSet,
long  lower,
long  upper 
) [virtual]

This overloaded version of the encode method encodes an ASN.1 UniversalString 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 mValue 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
virtual void Encode ( Asn1PerEncodeBuffer  buffer,
Asn1CharSet  charSet 
) [virtual]

This method encodes an ASN.1 UniversalString 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 mValue member variable.

Parameters:
buffer Encode message buffer object
charSet Object representing permitted alphabet constraint character set (optional)
override void Encode ( Asn1PerEncodeBuffer  buffer  )  [virtual]

This method encodes an ASN.1 UniversalString 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 mValue member variable.

Parameters:
buffer Encode message buffer object

Reimplemented from Asn1Type.

override int Encode ( Asn1BerEncodeBuffer  buffer,
bool  explicitTagging 
) [virtual]

This method encodes an ASN.1 universal string type. The UNIVERSAL tag value and length is also encoded if explicit tagging is specified.

Parameters:
buffer Encode message buffer object
explicitTagging Flag indicating explicit tagging should be done
Returns:
Length in octets of encoded component

Reimplemented from Asn1Type.

virtual void EncodeData ( Asn1XmlXerEncoder  buffer  )  [virtual]

This method encodes an ASN.1 Universal String value using the XML Encoding as specified in the XML schema standard(asn2xsd).

Parameters:
buffer Encode message buffer object
override bool Equals ( System.Object  value  ) 

This method compares this character string value to the given value for equality.

Parameters:
value The Object to compare with the current Object. Object should be instance of Asn1UniversalString.
Returns:
true if the specified Object is equal to the current Object; otherwise, false.
override int GetHashCode (  ) 

Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table.

Returns:
A hash code for the current Object.
override System.String ToString (  ) 

This method will return a string representation of the value. The format is the ASN.1 value format for this type.

Returns:
Stringified representation of the value
bool validate ( Asn1CharSet  charSet  ) 

This method will attempt to validate a string against its internal character set.

Returns:
True or False.

Member Data Documentation

new readonly Asn1Tag _TAG [static]

The _TAG constant describes the universal tag for this data type (UNIVERSAL 28).

Reimplemented from Asn1Type.

const int BITSPERCHAR = 32

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

internal System.Text.StringBuilder mStringBuffer [protected]

Variable holds the string representation of the value

int [] mValue

The mValue public member variable is used to hold the string value to be encoded or the results of a Decode operation. For UniversalString, the characters are stored in an array of 32-bit integer values.


Property Documentation

override int Length [get]

Gets the length of the character string in characters.

Value: number of characters.

Reimplemented from Asn1Type.