net.percederberg.mibble.snmp

## Class SnmpObjectType

- java.lang.Object
- - net.percederberg.mibble.MibType
  - - net.percederberg.mibble.snmp.SnmpType
    - - net.percederberg.mibble.snmp.SnmpObjectType

-     public class SnmpObjectType
      extends SnmpType

  The SNMP object type macro type. This macro type was present in SMIv1, but was somewhat extended in SMIv2. It is defined in the RFC:s 1155, 1212 and 2578.
  Since:
    2.0
  See Also:
    RFC 1155 (RFC1155-SMI), RFC 1212 (RFC-1212), RFC 2578 (SNMPv2-SMI)

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SnmpObjectType(MibType syntax, java.lang.String units, SnmpAccess access, SnmpStatus status, java.lang.String description, java.lang.String reference, java.util.ArrayList<SnmpIndex> index, MibValue defaultValue)` Creates a new SNMP object type.
    `SnmpObjectType(MibType syntax, java.lang.String units, SnmpAccess access, SnmpStatus status, java.lang.String description, java.lang.String reference, MibValue augments, MibValue defaultValue)` Creates a new SNMP object type.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `SnmpAccess` | `getAccess()` Returns the access mode.
    `MibValue` | `getAugments()` Returns the augmented index value.
    `MibValue` | `getDefaultValue()` Returns the default value.
    `java.util.ArrayList<SnmpIndex>` | `getIndex()` Returns the list of indices.
    `java.lang.String` | `getReference()` Returns the type reference.
    `SnmpStatus` | `getStatus()` Returns the type status.
    `MibType` | `getSyntax()` Returns the type syntax.
    `java.lang.String` | `getUnits()` Returns the units description.
    `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.snmp.SnmpType

      `getDescription, getDescription, getUnformattedDescription, removeIndent`

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

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

    - #### SnmpObjectType

          public SnmpObjectType(MibType syntax,
                        java.lang.String units,
                        SnmpAccess access,
                        SnmpStatus status,
                        java.lang.String description,
                        java.lang.String reference,
                        java.util.ArrayList<SnmpIndex> index,
                        MibValue defaultValue)

      Creates a new SNMP object type.
      Parameters:
        `syntax` - the object type syntax
        `units` - the units description, or null
        `access` - the access mode
        `status` - the type status
        `description` - the type description, or null
        `reference` - the type reference, or null
        `index` - the list of index objects
        `defaultValue` - the default value, or null

    - #### SnmpObjectType

          public SnmpObjectType(MibType syntax,
                        java.lang.String units,
                        SnmpAccess access,
                        SnmpStatus status,
                        java.lang.String description,
                        java.lang.String reference,
                        MibValue augments,
                        MibValue defaultValue)

      Creates a new SNMP object type.
      Parameters:
        `syntax` - the object type syntax
        `units` - the units description, or null
        `access` - the access mode
        `status` - the type status
        `description` - the type description, or null
        `reference` - the type reference, or null
        `augments` - the index augments value
        `defaultValue` - the default value, or null

  - ### 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. A value is compatible if and only if it is an object identifier value.
      Specified by:
        `isCompatible` in class `MibType`
      Parameters:
        `value` - the value to check
      Returns:
        true if the value is compatible, or false otherwise

    - #### getSyntax

          public MibType getSyntax()

      Returns the type syntax.
      Returns:
        the type syntax

    - #### getUnits

          public java.lang.String getUnits()

      Returns the units description.
      Returns:
        the units description, or null if no units has been set

    - #### getAccess

          public SnmpAccess getAccess()

      Returns the access mode.
      Returns:
        the access mode

    - #### getStatus

          public SnmpStatus getStatus()

      Returns the type status.
      Returns:
        the type status

    - #### getReference

          public java.lang.String getReference()

      Returns the type reference.
      Returns:
        the type reference, or null if no reference has been set

    - #### getIndex

          public java.util.ArrayList<SnmpIndex> getIndex()

      Returns the list of indices. The returned list will consist of SnmpIndex instances. Note that the semantics of this method changed in version 2.6, as the returned list previously contained type and value objects.
      Returns:
        the list of SNMP index objects, or an empty list if no indices are defined
      Since:
        2.6
      See Also:
        `SnmpIndex`

    - #### getAugments

          public MibValue getAugments()

      Returns the augmented index value.
      Returns:
        the augmented index value, or null if no augments index is used

    - #### getDefaultValue

          public MibValue getDefaultValue()

      Returns the default value.
      Returns:
        the default value, or null if no default value has been set

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