net.percederberg.mibble.value

## Class BitSetValue

- java.lang.Object
- - net.percederberg.mibble.MibValue
  - - net.percederberg.mibble.value.BitSetValue

- All Implemented Interfaces:
    java.lang.Comparable<java.lang.Object>

      public class BitSetValue
      extends MibValue

  A bit set MIB value.
  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BitSetValue(java.util.BitSet value)` Creates a new bit set MIB value.
    `BitSetValue(java.util.BitSet value, java.util.ArrayList<ValueReference> references)` Creates a new bit set MIB value.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `clear()` Clears and prepares this value for garbage collection.
    `int` | `compareTo(java.lang.Object obj)` Compares this object with the specified object for order.
    `MibValue` | `createReference()` Creates a value reference to this value.
    `boolean` | `equals(java.lang.Object obj)` Checks if this object equals another object.
    `java.util.ArrayList<NumberValue>` | `getBits()` Returns all the bits in this bit set as individual number values.
    `int` | `hashCode()` Returns a hash code for this object.
    `MibValue` | `initialize(MibLoaderLog log, MibType type)` Initializes the MIB value.
    `java.lang.String` | `toAsn1String(MibValueSymbol[] values)` Returns an ASN.1 representation of this value.
    `java.lang.Object` | `toObject()` Returns a Java BitSet representation of this value.
    `java.lang.String` | `toString()` Returns a string representation of this value.

    - ### Methods inherited from class net.percederberg.mibble.MibValue

      `getName, getReferenceSymbol, isReferenceTo, isReferenceTo, setReferenceSymbol`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### BitSetValue

          public BitSetValue(java.util.BitSet value)

      Creates a new bit set MIB value.
      Parameters:
        `value` - the bit set value

    - #### BitSetValue

          public BitSetValue(java.util.BitSet value,
                     java.util.ArrayList<ValueReference> references)

      Creates a new bit set MIB value.
      Parameters:
        `value` - the bit set value
        `references` - the additional referenced bit values

  - ### Method Detail

    - #### initialize

          public MibValue initialize(MibLoaderLog log,
                            MibType type)
                              throws MibException

      Initializes the MIB value. This will remove all levels of indirection present, such as references to other values. No value information is lost by this operation. This method may modify this object as a side-effect, and will return the basic value.

      NOTE: This is an internal method that should only be called by the MIB loader.

      Specified by:
        `initialize` in class `MibValue`
      Parameters:
        `log` - the MIB loader log
        `type` - the value type
      Returns:
        the basic MIB value
      Throws:
        `MibException` - if an error was encountered during the initialization

    - #### createReference

          public MibValue createReference()

      Creates a value reference to this value. The value reference is normally an identical value. Only certain values support being referenced, and the default implementation of this method throws an exception.

      NOTE: This is an internal method that should only be called by the MIB loader.

      Overrides:
        `createReference` in class `MibValue`
      Returns:
        the MIB value reference
      Since:
        2.2

    - #### clear

          protected void clear()

      Clears and prepares this value for garbage collection. This method will recursively clear any associated types or values, making sure that no data structures references this object.

      NOTE: This is an internal method that should only be called by the MIB loader.

      Overrides:
        `clear` in class `MibValue`

    - #### getBits

          public java.util.ArrayList<NumberValue> getBits()

      Returns all the bits in this bit set as individual number values.
      Returns:
        the number values for all bits in this bit set

    - #### compareTo

          public int compareTo(java.lang.Object obj)

      Compares this object with the specified object for order. This method will only compare the string representations with each other.
      Parameters:
        `obj` - the object to compare to
      Returns:
        less than zero if this object is less than the specified, zero if the objects are equal, or greater than zero otherwise
      Since:
        2.6

    - #### equals

          public boolean equals(java.lang.Object obj)

      Checks if this object equals another object. This method will compare the string representations for equality.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `obj` - the object to compare with
      Returns:
        true if the objects are equal, or false otherwise
      Since:
        2.6

    - #### hashCode

          public int hashCode()

      Returns a hash code for this object.
      Overrides:
        `hashCode` in class `java.lang.Object`
      Returns:
        a hash code for this object
      Since:
        2.6

    - #### toObject

          public java.lang.Object toObject()

      Returns a Java BitSet representation of this value.
      Specified by:
        `toObject` in class `MibValue`
      Returns:
        a Java BitSet representation of this value

    - #### toString

          public java.lang.String toString()

      Returns a string representation of this value.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        a string representation of this value

    - #### toAsn1String

          public java.lang.String toAsn1String(MibValueSymbol[] values)

      Returns an ASN.1 representation of this value. The string will contain named references to any values that can be found in the specified list.
      Parameters:
        `values` - the defined symbol values
      Returns:
        an ASN.1 representation of this value
      Since:
        2.8