net.percederberg.mibble.type
Class IntegerType

java.lang.Object
  extended bynet.percederberg.mibble.MibType
      extended bynet.percederberg.mibble.type.IntegerType
All Implemented Interfaces:
MibContext

public class IntegerType
extends MibType
implements MibContext

An integer MIB type.

Since:
2.0

Constructor Summary
IntegerType()
          Creates a new integer MIB type.
IntegerType(java.util.ArrayList values)
          Creates a new integer MIB type.
IntegerType(Constraint constraint)
          Creates a new integer MIB type.
 
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.
 MibValueSymbol[] getAllSymbols()
          Returns all named integer values.
 Constraint getConstraint()
          Returns the optional type constraint.
 MibSymbol getSymbol(java.lang.String name)
          Returns a named integer value.
 boolean hasConstraint()
          Checks if this type has any constraint.
 boolean hasSymbols()
          Checks if this type has any defined value symbols.
 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
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

IntegerType

public IntegerType()
Creates a new integer MIB type.


IntegerType

public IntegerType(Constraint constraint)
Creates a new integer MIB type.

Parameters:
constraint - the additional type constraint

IntegerType

public IntegerType(java.util.ArrayList values)
Creates a new integer MIB type.

Parameters:
values - the additional defined symbols
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

createReference

public MibType createReference(java.util.ArrayList values)
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
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

hasSymbols

public boolean hasSymbols()
Checks if this type has any defined value symbols.

Returns:
true if this type has any defined value symbols, 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 an integer number 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 constraints for an integer will typically be value, value range or compound constraints.

Returns:
the type constraint, or null if no constraint has been set
Since:
2.2

getSymbol

public MibSymbol getSymbol(java.lang.String name)
Returns a named integer value. The value will be returned as a value symbol, containing a numeric MIB value. The symbol returned is not a normal MIB symbol, i.e. only the name and value components are valid.

Note: Due to implementation details, the method signature specifies a MibSymbol return value, while in reality it is a MibValueSymbol.

Specified by:
getSymbol in interface MibContext
Parameters:
name - the symbol name
Returns:
the MIB value symbol, or null if not found

getAllSymbols

public MibValueSymbol[] getAllSymbols()
Returns all named integer values. An integer may also allow unnamed values, depending on the constraints. Use the constraint object or the isCompatible() method to check if a value is compatible with this type. Also note that the value symbols returned by this method are not normal MIB symbols, i.e. only the name and value components are valid.

Returns:
an array of all named values (as MIB value symbols)
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