net.percederberg.mibble.snmp
Class SnmpTextualConvention

java.lang.Object
  extended by net.percederberg.mibble.MibType
      extended by net.percederberg.mibble.snmp.SnmpType
          extended by 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
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
 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