net.percederberg.mibble.type
Class TypeReference

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

public class TypeReference
extends java.lang.Object
implements MibType, MibContext

A reference to a type symbol.

Since:
2.0

Constructor Summary
TypeReference(FileLocation location, MibContext context, java.lang.String name)
          Creates a new type reference.
TypeReference(FileLocation location, MibContext context, java.lang.String name, java.util.ArrayList values)
          Creates a new type reference.
TypeReference(FileLocation location, MibContext context, java.lang.String name, Constraint constraint)
          Creates a new type reference.
 
Method Summary
 FileLocation getLocation()
          Returns the file containing the reference.
 MibSymbol getSymbol(java.lang.String name)
          Returns a named MIB symbol.
 MibType initialize(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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TypeReference

public TypeReference(FileLocation location,
                     MibContext context,
                     java.lang.String name)
Creates a new type reference.

Parameters:
location - the reference location
context - the reference context
name - the reference name

TypeReference

public TypeReference(FileLocation location,
                     MibContext context,
                     java.lang.String name,
                     Constraint constraint)
Creates a new type reference.

Parameters:
location - the reference location
context - the reference context
name - the reference name
constraint - the additional type constraint

TypeReference

public TypeReference(FileLocation location,
                     MibContext context,
                     java.lang.String name,
                     java.util.ArrayList values)
Creates a new type reference.

Parameters:
location - the reference location
context - the reference context
name - the reference name
values - the additional defined symbols
Method Detail

initialize

public MibType initialize(MibLoaderLog log)
                   throws MibException
Initializes the MIB type. This will remove all levels of indirection present, such as references to other types, and returns the basic type. No type information is lost by this operation. This method may modify this object as a side-effect, and will be called by the MIB loader.

Specified by:
initialize in interface MibType
Parameters:
log - the MIB loader log
Returns:
the basic MIB type
Throws:
MibException - if an error was encountered during the initialization

getLocation

public FileLocation getLocation()
Returns the file containing the reference.

Returns:
the file containing the reference

isCompatible

public boolean isCompatible(MibValue value)
Checks if the specified value is compatible with this type. This metod will always return false for referenced types.

Specified by:
isCompatible in interface MibType
Parameters:
value - the value to check
Returns:
true if the value is compatible, or false otherwise

getSymbol

public MibSymbol getSymbol(java.lang.String name)
Returns a named MIB symbol. This method checks the referenced type for a MibContext implementation.

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

toString

public java.lang.String toString()
Returns a string representation of this object.

Returns:
a string representation of this object