net.percederberg.mibble.type

## Class StringType

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

-     public class StringType
      extends MibType

  A string MIB type.
  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `StringType()` Creates a new string MIB type.
    `StringType(Constraint constraint)` Creates a new string MIB type.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `MibType` | `createReference()` Creates a type reference to this type.
    `MibType` | `createReference(Constraint constraint)` Creates a constrained type reference to this type.
    `Constraint` | `getConstraint()` Returns the optional type constraint.
    `boolean` | `hasConstraint()` Checks if this type has any constraint.
    `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

      `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

    - #### StringType

          public StringType()

      Creates a new string MIB type.

    - #### StringType

          public StringType(Constraint constraint)

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

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

    - #### hasConstraint

          public boolean hasConstraint()

      Checks if this type has any constraint.
      Returns:
        true if this type has any constraint, 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 string 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 constraint for a string will typically be a size constraint.
      Returns:
        the type constraint, or null if no constraint has been set
      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