gnu.inet.ldap
Class BEREncoder

java.lang.Object
  extended by gnu.inet.ldap.BEREncoder

public class BEREncoder
extends java.lang.Object

Utility class to construct BER-encoded data.


Constructor Summary
BEREncoder(boolean utf8)
          Constructor.
BEREncoder(boolean utf8, int initialSize)
          Constructor.
 
Method Summary
 void append(boolean value)
          Appends a boolean value.
 void append(boolean value, int code)
          Appends a boolean value with the specified ASN.1 type code.
 void append(byte[] bytes)
          Appends an octetstring value.
 void append(byte[] bytes, int code)
          Appends an octetstring value with the specified ASN.1 type code.
 void append(int value)
          Appends an integer value.
 void append(int value, int code)
          Appends an integer value with the specified ASN.1 type code.
 void append(java.lang.String value)
          Appends a string value.
 void append(java.lang.String value, int code)
          Appends a string value with the specified ASN.1 type code.
 void appendFilter(java.lang.String filter)
          Appends an RFC2254 search filter to this encoder.
 void appendNull()
          Appends a BER NULL value.
 void reset()
          Reset this encoder for reuse.
 int size()
          Returns the current size of the encoded data.
 byte[] toByteArray()
          Returns the encoded data.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BEREncoder

public BEREncoder(boolean utf8)
Constructor.

Parameters:
utf - whether to use UTF-8 for encoding strings

BEREncoder

public BEREncoder(boolean utf8,
                  int initialSize)
Constructor.

Parameters:
utf - whether to use UTF-8 for encoding strings
initialSize - the initial buffer size
Method Detail

reset

public void reset()
Reset this encoder for reuse.


size

public int size()
Returns the current size of the encoded data.


toByteArray

public byte[] toByteArray()
Returns the encoded data.


append

public void append(boolean value)
Appends a boolean value.

Parameters:
value - the value

append

public void append(boolean value,
                   int code)
Appends a boolean value with the specified ASN.1 type code.

Parameters:
value - the value
code - the type code

append

public void append(int value)
Appends an integer value.

Parameters:
value - the value

append

public void append(int value,
                   int code)
Appends an integer value with the specified ASN.1 type code.

Parameters:
value - the value
code - the type code

append

public void append(byte[] bytes)
            throws BERException
Appends an octetstring value.

Parameters:
bytes - the value
Throws:
BERException

append

public void append(byte[] bytes,
                   int code)
            throws BERException
Appends an octetstring value with the specified ASN.1 type code. Sequences and sets can be appended by using the corresponding type codes from BERConstants.

Parameters:
bytes - the value
code - the type code
Throws:
BERException

append

public void append(java.lang.String value)
            throws BERException
Appends a string value.

Parameters:
value - the value
Throws:
BERException

append

public void append(java.lang.String value,
                   int code)
            throws BERException
Appends a string value with the specified ASN.1 type code.

Parameters:
value - the value
code - the type code
Throws:
BERException

appendNull

public void appendNull()
Appends a BER NULL value.


appendFilter

public void appendFilter(java.lang.String filter)
                  throws BERException
Appends an RFC2254 search filter to this encoder.

Parameters:
filter - the filter expression
Throws:
BERException