/*
*
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
// Copyright (c) 1995-96 by Cisco Systems, Inc.
package com.sun.jmx.snmp;
// java import
//
import java.util.Vector;
// jmx import
//
import com.sun.jmx.snmp.SnmpOidTable;
import com.sun.jmx.snmp.SnmpOidRecord;
import com.sun.jmx.snmp.SnmpStatusException;
/**
* Defines the minimal functionality that should be provided by
* a class containing a set of <CODE>SnmpOidTable</CODE> objects containing metadata definitions for MIB variables.
* Each <CODE>SnmpOidTable</CODE> should contain information on variables of one MIB.
* The <CODE>SnmpOidDatabase</CODE> is a "repository" of <CODE>SnmpOidTable</CODE>.
* It extends the <CODE>SnmpOidTable</CODE> interface in order to provide resolution of the MIB variables.
* <P>
* <p><b>This API is a Sun Microsystems internal API and is subject
* to change without notice.</b></p>
* @see com.sun.jmx.snmp.SnmpOidTable
*/
public interface SnmpOidDatabase extends SnmpOidTable {
/**
* Adds an <CODE>SnmpOidTable</CODE> object in this <CODE>SnmpOidDatabase</CODE>.
* @param table The table to add.
*/
public void add(SnmpOidTable table);
/**
* Removes an <CODE>SnmpOidTable</CODE> object from this <CODE>SnmpOidDatabase</CODE>.
* @param table The table to be removed.
*/
public void remove(SnmpOidTable table) throws SnmpStatusException;
/**
* Removes all the <CODE>SnmpOidTable</CODE> objects from this <CODE>SnmpOidDatabase</CODE>.
*/
public void removeAll();
/**
* Searches for a MIB variable given its logical name and returns an <CODE>SnmpOidRecord</CODE>
* object containing information on the variable.
* @param name The name of the MIB variable.
* @return The <CODE>SnmpOidRecord</CODE> object containing information on the variable.
*/
public SnmpOidRecord resolveVarName(String name) throws SnmpStatusException ;
/**
* Searches for a MIB variable given its OID and returns an <CODE>SnmpOidRecord</CODE> object containing
* information on the variable.
* @param oid The OID of the MIB variable.
* @return The <CODE>SnmpOidRecord</CODE> object containing information on the variable.
*/
public SnmpOidRecord resolveVarOid(String oid) throws SnmpStatusException;
/**
* Returns a list that can be used to traverse all the entries of the <CODE>SnmpOidTable</CODE> objects
* of this <CODE>SnmpOidDatabase</CODE>.
* @return A vector of <CODE>SnmpOidTable</CODE> objects containing all the elements of this <CODE>SnmpOidDatabase</CODE>.
*/
public Vector<?> getAllEntries() ;
// We can't specify Vector<SnmpOidTable> because the subinterface SnmpOidTable
// overrides this method to return Vector<SnmpOidRecord>
}