IntegerType (Mibble 2.9.4 Documentation)
Date: 2016-09-27

net.percederberg.mibble.type

## Class IntegerType

- java.lang.Object
- - net.percederberg.mibble.MibType
  - - net.percederberg.mibble.type.IntegerType

- All Implemented Interfaces:
    MibContext

      public class IntegerType
      extends MibType
      implements MibContext

  An integer MIB type.
  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IntegerType()` Creates a new integer MIB type.
    `IntegerType(java.util.ArrayList values)` Creates a new integer MIB type.
    `IntegerType(Constraint constraint)` Creates a new integer MIB type.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `MibSymbol` | `findSymbol(java.lang.String name, boolean expanded)` Searches for a named MIB symbol.
    `MibValueSymbol[]` | `getAllSymbols()` Returns all named integer values.
    `Constraint` | `getConstraint()` Returns the optional type constraint.
    `MibValueSymbol` | `getSymbol(java.lang.String name)` Returns a named integer 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(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

      `getComment, 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

    - #### IntegerType

          public IntegerType()

      Creates a new integer MIB type.

    - #### IntegerType

          public IntegerType(Constraint constraint)

      Creates a new integer MIB type.
      Parameters:
        `constraint` - the additional type constraint

    - #### IntegerType

          public IntegerType(java.util.ArrayList values)

      Creates a new integer 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 an integer number value that is 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

    - #### getConstraint

          public Constraint getConstraint()

      Returns the optional type constraint. The type constraints for an integer will typically be value, value range or compound constraints.
      Returns:
        the type constraint, or null if no constraint has been set
      Since:
        2.2

    - #### getSymbol

          public MibValueSymbol getSymbol(java.lang.String name)

      Returns a named integer 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. only the name and value components are valid.

      Note: As of version 2.4 the method signature was changed to return a MibValueSymbol instead of a MibSymbol.

      Parameters:
        `name` - the symbol name
      Returns:
        the MIB value symbol, or null if not found

    - #### getAllSymbols

          public MibValueSymbol[] getAllSymbols()

      Returns all named integer values. An integer may also 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

    - #### findSymbol

          public MibSymbol findSymbol(java.lang.String name,
                                      boolean expanded)

      Searches for a named MIB symbol. This method may search outside the normal (or strict) scope, thereby allowing a form of relaxed search. Note that the results from the normal and expanded search may not be identical, due to the context chaining and the same symbol name appearing in various contexts.

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

      Specified by:
        `findSymbol` in interface `MibContext`
      Parameters:
        `name` - the symbol name
        `expanded` - the expanded scope flag
      Returns:
        the MIB symbol, or null if not found
      Since:
        2.4

    - #### 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