/*
* Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package com.sun.jmx.snmp;
import java.io.Serializable;
import java.util.Hashtable;
import com.sun.jmx.snmp.SnmpValue;
import com.sun.jmx.snmp.SnmpInt;
import com.sun.jmx.snmp.Enumerated;
/**
* This class is an internal class which is used to represent RowStatus
* codes as defined in RFC 2579.
*
* It defines an additional code, unspecified, which is
* implementation specific, and is used to identify
* unspecified actions (when for instance the RowStatus variable
* is not present in the varbind list) or uninitialized values.
*
* mibgen does not generate objects of this class but any variable
* using the RowStatus textual convention can be converted into an
* object of this class thanks to the
* EnumRowStatus(Enumerated valueIndex)
constructor.
*
*
This API is a Sun Microsystems internal API and is subject * to change without notice.
**/ public class EnumRowStatus extends Enumerated implements Serializable { private static final long serialVersionUID = 8966519271130162420L; /** * This value is SNMP Runtime implementation specific, and is used to identify * unspecified actions (when for instance the RowStatus variable * is not present in the varbind list) or uninitialized values. */ public final static int unspecified = 0; /** * This value corresponds to the active RowStatus, as defined in * RFC 2579 from SMIv2: *EnumRowStatus
from an int
.
* @param valueIndex should be either 0 (unspecified), or one of
* the values defined in RFC 2579.
* @exception IllegalArgumentException if the given
* valueIndex
is not valid.
**/
public EnumRowStatus(int valueIndex)
throws IllegalArgumentException {
super(valueIndex);
}
/**
* Build an EnumRowStatus
from an Enumerated
.
* @param valueIndex should be either 0 (unspecified), or one of
* the values defined in RFC 2579.
* @exception IllegalArgumentException if the given
* valueIndex
is not valid.
**/
public EnumRowStatus(Enumerated valueIndex)
throws IllegalArgumentException {
this(valueIndex.intValue());
}
/**
* Build an EnumRowStatus
from a long
.
* @param valueIndex should be either 0 (unspecified), or one of
* the values defined in RFC 2579.
* @exception IllegalArgumentException if the given
* valueIndex
is not valid.
**/
public EnumRowStatus(long valueIndex)
throws IllegalArgumentException {
this((int)valueIndex);
}
/**
* Build an EnumRowStatus
from an Integer
.
* @param valueIndex should be either 0 (unspecified), or one of
* the values defined in RFC 2579.
* @exception IllegalArgumentException if the given
* valueIndex
is not valid.
**/
public EnumRowStatus(Integer valueIndex)
throws IllegalArgumentException {
super(valueIndex);
}
/**
* Build an EnumRowStatus
from a Long
.
* @param valueIndex should be either 0 (unspecified), or one of
* the values defined in RFC 2579.
* @exception IllegalArgumentException if the given
* valueIndex
is not valid.
**/
public EnumRowStatus(Long valueIndex)
throws IllegalArgumentException {
this(valueIndex.longValue());
}
/**
* Build an EnumRowStatus
with unspecified value.
**/
public EnumRowStatus()
throws IllegalArgumentException {
this(unspecified);
}
/**
* Build an EnumRowStatus
from a String
.
* @param x should be either "unspecified", or one of
* the values defined in RFC 2579 ("active", "notReady", etc...)
* @exception IllegalArgumentException if the given String
* x
is not valid.
**/
public EnumRowStatus(String x)
throws IllegalArgumentException {
super(x);
}
/**
* Build an EnumRowStatus
from an SnmpInt
.
* @param valueIndex should be either 0 (unspecified), or one of
* the values defined in RFC 2579.
* @exception IllegalArgumentException if the given
* valueIndex
is not valid.
**/
public EnumRowStatus(SnmpInt valueIndex)
throws IllegalArgumentException {
this(valueIndex.intValue());
}
/**
* Build an SnmpValue from this object.
*
* @exception IllegalArgumentException if this object holds an
* unspecified value.
* @return an SnmpInt containing this object value.
**/
public SnmpInt toSnmpValue()
throws IllegalArgumentException {
if (value == unspecified)
throw new
IllegalArgumentException("`unspecified' is not a valid SNMP value.");
return new SnmpInt(value);
}
/**
* Check that the given value
is valid.
*
* Valid values are:
*