net.percederberg.mibble.snmp

## Class SnmpTextualConvention

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

- All Implemented Interfaces:
    MibContext

      public class SnmpTextualConvention
      extends SnmpType
      implements MibContext

  The SNMP textual convention macro type. This macro type was added to SMIv2 and is defined in RFC 2579.
  Since:
    2.0
  See Also:
    RFC 2579 (SNMPv2-TC)

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SnmpTextualConvention(java.lang.String displayHint, SnmpStatus status, java.lang.String description, java.lang.String reference, MibType syntax)` Creates a new SNMP textual convention.

  - ### Method Summary

    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.
    `static SnmpTextualConvention` | `findReference(MibType type)` Finds the first SNMP textual convention reference for a type.
    `MibSymbol` | `findSymbol(java.lang.String name, boolean expanded)` Searches for a named MIB symbol.
    `java.lang.String` | `getDisplayHint()` Returns the display hint.
    `java.lang.String` | `getReference()` Returns the type reference.
    `SnmpStatus` | `getStatus()` Returns the type status.
    `MibType` | `getSyntax()` Returns the type syntax.
    `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

      `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

    - #### SnmpTextualConvention

          public SnmpTextualConvention(java.lang.String displayHint,
                               SnmpStatus status,
                               java.lang.String description,
                               java.lang.String reference,
                               MibType syntax)

      Creates a new SNMP textual convention.
      Parameters:
        `displayHint` - the display hint, or null
        `status` - the type status
        `description` - the type description
        `reference` - the type reference, or null
        `syntax` - the type syntax

  - ### Method Detail

    - #### findReference

          public static SnmpTextualConvention findReference(MibType type)

      Finds the first SNMP textual convention reference for a type. If the type specified is a textual convention, it will be returned directly.
      Parameters:
        `type` - the MIB type
      Returns:
        the SNMP textual convention reference, or null if none was found
      Since:
        2.7

    - #### 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()
                                  throws java.lang.UnsupportedOperationException

      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
      Throws:
        `java.lang.UnsupportedOperationException` - if a type reference couldn't be created
      Since:
        2.2

    - #### createReference

          public MibType createReference(Constraint constraint)
                                  throws java.lang.UnsupportedOperationException

      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
      Throws:
        `java.lang.UnsupportedOperationException` - if a type reference couldn't be created with constraints
      Since:
        2.2

    - #### createReference

          public MibType createReference(java.util.ArrayList<?> values)
                                  throws java.lang.UnsupportedOperationException

      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
      Throws:
        `java.lang.UnsupportedOperationException` - if a type reference couldn't be created with value constraints
      Since:
        2.2

    - #### isCompatible

          public boolean isCompatible(MibValue value)

      Checks if the specified value is compatible with this type. No value is compatible with this type, so this method always returns false.
      Specified by:
        `isCompatible` in class `MibType`
      Parameters:
        `value` - the value to check
      Returns:
        true if the value is compatible, or false otherwise

    - #### getDisplayHint

          public java.lang.String getDisplayHint()

      Returns the display hint.
      Returns:
        the display hint, or null if no display hint has been set

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

    - #### getSyntax

          public MibType getSyntax()

      Returns the type syntax.
      Returns:
        the type syntax

    - #### 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 object.
      Overrides:
        `toString` in class `MibType`
      Returns:
        a string representation of this object