net.percederberg.mibble.type
Class ChoiceType

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

public class ChoiceType
extends java.lang.Object
implements MibType

A choice MIB type. In some other languages this is known as a union.

Since:
2.0

Constructor Summary
ChoiceType(java.util.ArrayList elements)
          Creates a new choice MIB type.
 
Method Summary
 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

ChoiceType

public ChoiceType(java.util.ArrayList elements)
Creates a new choice MIB type.

Parameters:
elements - the list of element types
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

isCompatible

public boolean isCompatible(MibValue value)
Checks if the specified value is compatible with this type. A values is considered compatible with this type, if it is compatible with any single type in the union.

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

toString

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

Returns:
a string representation of this object