net.percederberg.mibble.type
Class BitSetType

java.lang.Object
  |
  +--net.percederberg.mibble.MibType
        |
        +--net.percederberg.mibble.type.BitSetType
All Implemented Interfaces:
MibContext

public class BitSetType
extends MibType
implements MibContext

A bit set MIB type. This is the equivalent of a bit string, i.e. a set of bit values

Since:
2.0

Constructor Summary
BitSetType()
          Creates a new bit set MIB type.
BitSetType(java.util.ArrayList values)
          Creates a new bit set MIB type.
BitSetType(Constraint constraint)
          Creates a new bit set MIB type.
 
Method Summary
 MibType createReference()
          Creates a type reference to this type.
 MibType createReference(java.util.ArrayList values)
          Creates a constrained type reference to this type.
 MibType createReference(Constraint constraint)
          Creates a constrained type reference to this type.
 MibValueSymbol[] getAllSymbols()
          Returns all named bit values.
 Constraint getConstraint()
          Returns the optional type constraint.
 MibSymbol getSymbol(java.lang.String name)
          Returns a named bit value.
 boolean hasConstraint()
          Checks if this type has any constraint.
 boolean hasSymbols()
          Checks if this type has any defined value symbols.
 MibType initialize(MibSymbol symbol, MibLoaderLog log)
          Initializes the MIB type.
 boolean isCompatible(BitSetValue value)
          Checks if the specified bit set value is compatible with this type.
 boolean isCompatible(MibValue value)
          Checks if the specified value is compatible with this type.
 java.lang.String toString()
          Returns a string representation of this type.
 
Methods inherited from class net.percederberg.mibble.MibType
getName, getReferenceSymbol, getTag, hasReferenceTo, hasReferenceTo, hasTag, hasTag, isPrimitive, setReferenceSymbol, setTag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BitSetType

public BitSetType()
Creates a new bit set MIB type.


BitSetType

public BitSetType(Constraint constraint)
Creates a new bit set MIB type.

Parameters:
constraint - the additional type constraint

BitSetType

public BitSetType(java.util.ArrayList values)
Creates a new bit set MIB type.

Parameters:
values - the additional defined symbols
Method Detail

initialize

public MibType initialize(MibSymbol symbol,
                          MibLoaderLog log)
                   throws MibException
Initializes the MIB type. This will remove all levels of indirection present, such as references to types or values. No information is lost by this operation. This method may modify this object as a side-effect, and will return the basic type.

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

Specified by:
initialize in class MibType
Parameters:
symbol - the MIB symbol containing this type
log - the MIB loader log
Returns:
the basic MIB type
Throws:
MibException - if an error was encountered during the initialization
Since:
2.2

createReference

public MibType createReference()
Creates a type reference to this type. The type reference is normally an identical type, but with the primitive flag set to false. Only certain types 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 MibType
Returns:
the MIB type reference
Since:
2.2

createReference

public MibType createReference(Constraint constraint)
Creates a constrained type reference to this type. The type reference is normally an identical type, but with the primitive flag set to false. Only certain types 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 MibType
Parameters:
constraint - the type constraint
Returns:
the MIB type reference
Since:
2.2

createReference

public MibType createReference(java.util.ArrayList values)
Creates a constrained type reference to this type. The type reference is normally an identical type, but with the primitive flag set to false. Only certain types 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 MibType
Parameters:
values - the type value symbols
Returns:
the MIB type reference
Since:
2.2

hasConstraint

public boolean hasConstraint()
Checks if this type has any constraint.

Returns:
true if this type has any constraint, or false otherwise

hasSymbols

public boolean hasSymbols()
Checks if this type has any defined value symbols.

Returns:
true if this type has any defined value symbols, or false otherwise

isCompatible

public boolean isCompatible(MibValue value)
Checks if the specified value is compatible with this type. A value is compatible if it is a bit set value with all components compatible with the constraints.

Specified by:
isCompatible in class MibType
Parameters:
value - the value to check
Returns:
true if the value is compatible, or false otherwise

isCompatible

public boolean isCompatible(BitSetValue value)
Checks if the specified bit set value is compatible with this type. A value is compatible if all the bits are compatible with the constraints.

Parameters:
value - the value to check
Returns:
true if the value is compatible, or false otherwise

getConstraint

public Constraint getConstraint()
Returns the optional type constraint. The type constraints for a bit set will typically be value constraints or compound value constraints.

Returns:
the type constraint, or null if no constraint has been set
Since:
2.2

getSymbol

public MibSymbol getSymbol(java.lang.String name)
Returns a named bit value. The value will be returned as a value symbol, containing a numeric MIB value. The symbol returned is not a normal MIB symbol, i.e. it is not present in any MIB file and only the name and value components are valid.

Note: Due to implementation details, the method signature specifies a MibSymbol return value, while in reality it is a MibValueSymbol.

Specified by:
getSymbol in interface MibContext
Parameters:
name - the symbol name
Returns:
the MIB value symbol, or null if not found

getAllSymbols

public MibValueSymbol[] getAllSymbols()
Returns all named bit values. Note that a bit string may allow unnamed values, depending on the constraints. Use the constraint object or the isCompatible() method to check if a value is compatible with this type. Also note that the value symbols returned by this method are not normal MIB symbols, i.e. only the name and value components are valid.

Returns:
an array of all named values (as MIB value symbols)
Since:
2.2

toString

public java.lang.String toString()
Returns a string representation of this type.

Overrides:
toString in class MibType
Returns:
a string representation of this type