netscape.ldap.ber.stream
Class BERBitString

java.lang.Object
  |
  +--netscape.ldap.ber.stream.BERElement
        |
        +--netscape.ldap.ber.stream.BERBitString

public class BERBitString
extends BERElement

This class is for the BitString object. Note that the BitSet class has a bug: size() returns the size of the internal allocated memory rather than the number of bits. Current work-around is to maintain the number of bits ourselves in m_value_num_bits. Change is required when BitSet is fixed.

 ENCODING RULE:
   Primitive Definite length.
   tag = 0x03
 

See Also:
Serialized Form

Fields inherited from class netscape.ldap.ber.stream.BERElement
ANY, APPLICATION, BITSTRING, BOOLEAN, CHOICE, CONSTRUCTED, CONTEXT, ENUMERATED, EOC, EXOP_REQ_OID, EXOP_REQ_VALUE, EXOP_RES_OID, EXOP_RES_VALUE, GENERALSTRING, GRAPHICSTRING, IA5STRING, INTEGER, MRA_DNATTRS, MRA_OID, MRA_TYPE, MRA_VALUE, NULL, NUMERICSTRING, OBJECTID, OCTETSTRING, PRIMITIVE, PRINTABLESTRING, PRIVATE, REAL, SASLCONTEXT, SEQUENCE, SET, SK_MATCHRULE, SK_REVERSE, SR_ATTRTYPE, TAG, TELETEXSTRING, UNIVERSAL, UTCTIME, VIDEOTEXSTRING, VISIBLESTRING
 
Constructor Summary
BERBitString(BERTagDecoder decoder, java.io.InputStream stream, int[] bytes_read)
          Constructs a bitstring element from an input stream (for constructed encodings).
BERBitString(java.util.BitSet value)
          Constructs a boolean element.
BERBitString(java.io.InputStream stream, int[] bytes_read)
          Constructs a bitstring element from an input stream (for primitive encodings).
 
Method Summary
 int getSize()
          Gets the number of bits.
 int getType()
          Gets the element type.
 java.util.BitSet getValue()
          Gets the bitstring value.
 java.lang.String toString()
          Gets the string representation.
 void write(java.io.OutputStream stream)
          Sends the BER encoding directly to a stream.
 
Methods inherited from class netscape.ldap.ber.stream.BERElement
byteToHexString, getElement, readLengthOctets, readTwosComplement, readUnsignedBinary, sendDefiniteLength
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BERBitString

public BERBitString(java.util.BitSet value)
Constructs a boolean element.
Parameters:
value - boolean value

BERBitString

public BERBitString(BERTagDecoder decoder,
                    java.io.InputStream stream,
                    int[] bytes_read)
             throws java.io.IOException
Constructs a bitstring element from an input stream (for constructed encodings).
Parameters:
stream - source
bytes_read - array of 1 int; value incremented by number of bytes read from stream
Throws:
java.io.IOException - failed to construct

BERBitString

public BERBitString(java.io.InputStream stream,
                    int[] bytes_read)
             throws java.io.IOException
Constructs a bitstring element from an input stream (for primitive encodings).
Parameters:
stream - source
bytes_read - array of 1 int; value incremented by number of bytes read from stream
Throws:
java.io.IOException - failed to construct
Method Detail

write

public void write(java.io.OutputStream stream)
           throws java.io.IOException
Sends the BER encoding directly to a stream. Always sends in primitive form.
Overrides:
write in class BERElement
Parameters:
stream - output stream

getValue

public java.util.BitSet getValue()
Gets the bitstring value.
Parameters:
element - type

getSize

public int getSize()
Gets the number of bits.
Returns:
bit numbers.

getType

public int getType()
Gets the element type.
Overrides:
getType in class BERElement
Parameters:
element - type

toString

public java.lang.String toString()
Gets the string representation.
Overrides:
toString in class BERElement
Returns:
string representation of tag.