net.percederberg.mibble.type

## Class ElementType

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

-     public class ElementType
      extends MibType

  A compound element MIB type. This typs is used inside various compound types, storing a reference to the type and an optional name.
  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ElementType(java.lang.String name, MibType type)` Creates a new element type.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getName()` Returns the optional element name.
    `MibType` | `getType()` Returns the referenced MIB type.
    `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 object.

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

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

    - #### ElementType

          public ElementType(java.lang.String name,
                     MibType type)

      Creates a new element type.
      Parameters:
        `name` - the optional element name
        `type` - the element type

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

    - #### isCompatible

          public boolean isCompatible(MibValue value)

      Checks if the specified value is compatible with this type. The value is considered compatible with this type, if it is compatible with the underlying type.
      Specified by:
        `isCompatible` in class `MibType`
      Parameters:
        `value` - the value to check
      Returns:
        true if the value is compatible, or false otherwise

    - #### getName

          public java.lang.String getName()

      Returns the optional element name.
      Overrides:
        `getName` in class `MibType`
      Returns:
        the element name, or null if no name has been set
      Since:
        2.2

    - #### getType

          public MibType getType()

      Returns the referenced MIB type.
      Returns:
        the referenced MIB type
      Since:
        2.2

    - #### toString

          public java.lang.String toString()

      Returns a string representation of this object.
      Overrides:
        `toString` in class `MibType`
      Returns:
        a string representation of this object