public interface

SnmpMibSubRequest

implements SnmpMibRequest
com.sun.jmx.snmp.agent.SnmpMibSubRequest

Class Overview

This interface models an SNMP sub request to be performed on a specific SNMP MIB node. The node involved can be either an SNMP group, an SNMP table, or an SNMP table entry (conceptual row). The conceptual row may or may not already exist. If the row did not exist at the time when the request was received, the isNewEntry() method will return true.

Objects implementing this interface will be allocated by the SNMP engine. You will never need to implement this interface. You will only use it.

This API is a Sun Microsystems internal API and is subject to change without notice.

Summary

Public Methods
abstract Enumeration getElements()
Return the list of varbind to be handled by the SNMP MIB node.
abstract SnmpOid getEntryOid()
Return the part of the OID identifying the table entry involved.
abstract SnmpVarBind getRowStatusVarBind()
Return the varbind that holds the RowStatus variable.
abstract Vector<SnmpVarBind> getSubList()
Return the list of varbind to be handled by the SNMP MIB node.
abstract boolean isNewEntry()
Indicate whether the entry involved is a new entry.
abstract void registerCheckException(SnmpVarBind varbind, SnmpStatusException exception)
This method should be called when a status exception needs to be raised when checking a given varbind for an SNMP SET request.
abstract void registerGetException(SnmpVarBind varbind, SnmpStatusException exception)
This method should be called when a status exception needs to be raised for a given varbind of an SNMP GET request.
abstract void registerSetException(SnmpVarBind varbind, SnmpStatusException exception)
This method should be called when a status exception needs to be raised for a given varbind of an SNMP SET request.
[Expand]
Inherited Methods
From interface com.sun.jmx.snmp.agent.SnmpMibRequest

Public Methods

public abstract Enumeration getElements ()

Return the list of varbind to be handled by the SNMP MIB node.

Note:

    In case of SET operation, if this node is a table row which contains a control variable (as identified by the table's isRowStatus() method) the control variable will not be included in this list: it will be obtained by calling getRowStatusVarBind(). This will allow you to handle the control variable specifically.
    You will never need to worry about this unless you need to implement a non standard mechanism for handling row creation and deletion.

Returns
  • The elements of the enumeration are instances of com.sun.jmx.snmp.SnmpVarBind

public abstract SnmpOid getEntryOid ()

Return the part of the OID identifying the table entry involved.

Returns
  • com.sun.jmx.snmp.SnmpOid or null if the request is not directed to an entry.

public abstract SnmpVarBind getRowStatusVarBind ()

Return the varbind that holds the RowStatus variable. It corresponds to the varbind that was identified by the isRowStatus() method generated by mibgen on SnmpMibTable derivatives.

  • In SMIv2, it is the varbind which contains the columnar object implementing the RowStatus TEXTUAL-CONVENTION.
  • In SMIv1 nothing special is generated
    • You may however subclass the generated table metadata class in order to provide your own implementation of isRowStatus(), getRowAction(), isRowReady() and setRowStatus() (see SnmpMibTable).

Returns
  • a varbind that serves to control the table modification. null means that no such varbind could be identified.
    Note:The runtime will only try to identify the RowStatus varbind when processing an SNMP SET request. In this case, the identified varbind will not be included in the set of varbinds returned by getSubList() and getElements().

public abstract Vector<SnmpVarBind> getSubList ()

Return the list of varbind to be handled by the SNMP MIB node.

Note:

    In case of SET operation, if this node is a table row which contains a control variable (as identified by the table's isRowStatus() method) the control variable will not be included in this list: it will be obtained by calling getRowStatusVarBind(). This will allow you to handle the control variable specifically.
    You will never need to worry about this unless you need to implement a non standard mechanism for handling row creation and deletion.

Returns
  • The elements of the vector are instances of com.sun.jmx.snmp.SnmpVarBind

public abstract boolean isNewEntry ()

Indicate whether the entry involved is a new entry. This method will return true if the entry was not found when the request was processed. As a consequence, true means that either the entry does not exist yet, or it has been created while processing this request. The result of this method is only significant when an entry is involved.

Returns
  • true If the entry did not exist, or false if the entry involved was found.

public abstract void registerCheckException (SnmpVarBind varbind, SnmpStatusException exception)

This method should be called when a status exception needs to be raised when checking a given varbind for an SNMP SET request. This method performs all the necessary conversions (SNMPv1 <=> SNMPv2) and propagates the exception if needed. This method also takes care of setting the correct value of the index field.

Parameters
varbind The varbind for which the exception is registered. Note that this varbind must have been obtained from the enumeration returned by getElements(), or from the vector returned by getSubList()
exception The exception to be registered for the given varbind.

public abstract void registerGetException (SnmpVarBind varbind, SnmpStatusException exception)

This method should be called when a status exception needs to be raised for a given varbind of an SNMP GET request. This method performs all the necessary conversions (SNMPv1 <=> SNMPv2) and propagates the exception if needed: If the version is SNMP v1, the exception is propagated. If the version is SNMP v2, the exception is stored in the varbind. This method also takes care of setting the correct value of the index field.

Parameters
varbind The varbind for which the exception is registered. Note that this varbind must have been obtained from the enumeration returned by getElements(), or from the vector returned by getSubList()
exception The exception to be registered for the given varbind.

public abstract void registerSetException (SnmpVarBind varbind, SnmpStatusException exception)

This method should be called when a status exception needs to be raised for a given varbind of an SNMP SET request. This method performs all the necessary conversions (SNMPv1 <=> SNMPv2) and propagates the exception if needed. This method also takes care of setting the correct value of the index field.

Parameters
varbind The varbind for which the exception is registered. Note that this varbind must have been obtained from the enumeration returned by getElements(), or from the vector returned by getSubList()
exception The exception to be registered for the given varbind.