alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Java example source code file (SnmpMibSubRequest.java)

This example Java source code file (SnmpMibSubRequest.java) is included in the alvinalexander.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Learn more about this Java project at its project page.

Java - Java tags/keywords

enumeration, jmx, override, snmp, snmpmibrequest, snmpmibsubrequest, snmpoid, snmpstatusexception, snmpvarbind, util, vector

The SnmpMibSubRequest.java Java example source code

/*
 * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package com.sun.jmx.snmp.agent;

import java.util.Enumeration;
import java.util.Vector;
import com.sun.jmx.snmp.SnmpVarBind;
import com.sun.jmx.snmp.SnmpStatusException;
import com.sun.jmx.snmp.SnmpOid;
// import com.sun.jmx.snmp.SnmpIndex;

/**
 * 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 <CODE>isNewEntry() method will return 
 * true</CODE>.
 * <p>
 * Objects implementing this interface will be allocated by the SNMP engine.
 * You will never need to implement this interface. You will only use it.
 * </p>
 * <p>This API is a Sun Microsystems internal API  and is subject
 * to change without notice.</b>

*/ public interface SnmpMibSubRequest extends SnmpMibRequest { /** * Return the list of varbind to be handled by the SNMP MIB node. * <p> * <b>Note:
    * <i>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.</i>
    * You will never need to worry about this unless you need to * implement a non standard mechanism for handling row * creation and deletion. * </ul> * <p> * @return The elements of the enumeration are instances of * {@link com.sun.jmx.snmp.SnmpVarBind} */ @Override public Enumeration<SnmpVarBind> getElements(); /** * Return the list of varbind to be handled by the SNMP MIB node. * <p> * <b>Note:
      * <i>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.</i>
      * You will never need to worry about this unless you need to * implement a non standard mechanism for handling row * creation and deletion. * </ul> * <p> * @return The elements of the vector are instances of * {@link com.sun.jmx.snmp.SnmpVarBind} */ @Override public Vector<SnmpVarBind> getSubList(); /** * Return the part of the OID identifying the table entry involved. * <p> * * @return {@link com.sun.jmx.snmp.SnmpOid} or <CODE>null
      * if the request is not directed to an entry. */ public SnmpOid getEntryOid(); /** * Indicate whether the entry involved is a new entry. * This method will return <CODE>true if the entry was not * found when the request was processed. As a consequence, <CODE> * true</CODE> 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. * * <p> * @return <CODE>true If the entry did not exist, * or <CODE>false if the entry involved was found. */ public boolean isNewEntry(); /** * Return the varbind that holds the RowStatus variable. * It corresponds to the varbind that was identified by * the <code>isRowStatus() method generated by mibgen * on {@link com.sun.jmx.snmp.agent.SnmpMibTable} derivatives. * <ul>
    • In SMIv2, it is the varbind which contains the columnar * object implementing the RowStatus TEXTUAL-CONVENTION.</li> * <li>In SMIv1 nothing special is generated
    • * <ul>You may however subclass the generated table metadata * class in order to provide your own implementation of * isRowStatus(), getRowAction(), isRowReady() and * setRowStatus() * (see {@link com.sun.jmx.snmp.agent.SnmpMibTable}).</ul> * </ul> * <p> * @return a varbind that serves to control the table modification. * <code>null means that no such varbind could be * identified.<br> * <b>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(). * </i> * **/ public SnmpVarBind getRowStatusVarBind(); /** * 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. * <p> * * @param varbind The varbind for which the exception is * registered. Note that this varbind <b>must have * been obtained from the enumeration returned by * <CODE>getElements(), or from the vector * returned by <CODE>getSubList() * * @param exception The exception to be registered for the given varbind. * */ public void registerGetException(SnmpVarBind varbind, SnmpStatusException exception) throws SnmpStatusException; /** * 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. * <p> * * @param varbind The varbind for which the exception is * registered. Note that this varbind <b>must have * been obtained from the enumeration returned by * <CODE>getElements(), or from the vector * returned by <CODE>getSubList() * * @param exception The exception to be registered for the given varbind. * */ public void registerSetException(SnmpVarBind varbind, SnmpStatusException exception) throws SnmpStatusException; /** * 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. * <p> * * @param varbind The varbind for which the exception is * registered. Note that this varbind <b>must have * been obtained from the enumeration returned by * <CODE>getElements(), or from the vector * returned by <CODE>getSubList() * * @param exception The exception to be registered for the given varbind. * */ public void registerCheckException(SnmpVarBind varbind, SnmpStatusException exception) throws SnmpStatusException; }

Other Java examples (source code examples)

Here is a short list of links related to this Java SnmpMibSubRequest.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.