⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snmpmibrequestimpl.java

📁 Mobile 应用程序使用 Java Micro Edition (Java ME) 平台
💻 JAVA
字号:
/* * @(#)file      SnmpMibRequestImpl.java * @(#)author    Sun Microsystems, Inc. * @(#)version   1.15 * @(#)date      08/09/12 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.jmx.snmp.agent;import java.util.Enumeration;import java.util.Vector;import com.sun.jmx.snmp.SnmpPdu;import com.sun.jmx.snmp.SnmpVarBind;import com.sun.jmx.snmp.SnmpEngine;/** * This class implements the SnmpMibRequest interface. * It represents the part of a SNMP request that involves a specific * MIB. One instance of this class will be created for every MIB  * involved in a SNMP request, and will be passed to the SnmpMibAgent * in charge of handling that MIB. *  * Instances of this class are allocated by the SNMP engine. You will * never need to use this class directly. You will only access * instances of this class through their SnmpMibRequest interface. * */final class SnmpMibRequestImpl implements SnmpMibRequest {    /**     * @param engine The local engine.     * @param reqPdu The received pdu.     * @param vblist The vector of SnmpVarBind objects in which the     *        MIB concerned by this request is involved.     * @param protocolVersion  The protocol version of the SNMP request.     * @param userData     User allocated contextual data. This object must     *        be allocated on a per SNMP request basis through the      *        SnmpUserDataFactory registered with the SnmpAdaptorServer,     *        and is handed back to the user through SnmpMibRequest objects.     */    public SnmpMibRequestImpl(SnmpEngine engine,			      SnmpPdu reqPdu,			      Vector vblist, 			      int protocolVersion, 			      Object userData,			      String principal,			      int securityLevel,			      int securityModel,			      byte[] contextName,			      byte[] accessContextName) {	varbinds   = vblist;	version    = protocolVersion;	data       = userData;	this.reqPdu = reqPdu;	this.engine = engine;	this.principal = principal;	this.securityLevel = securityLevel;	this.securityModel = securityModel;	this.contextName = contextName;	this.accessContextName = accessContextName;    }    // -------------------------------------------------------------------    // PUBLIC METHODS from SnmpMibRequest    // -------------------------------------------------------------------        /**     * Returns the local engine. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise null is returned.     * @return the local engine.     */    public SnmpEngine getEngine() {	return engine;    }        /**     * Gets the incoming request principal. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise null is returned.     * @return The request principal.     **/    public String getPrincipal() {	return principal;    }        /**     * Gets the incoming request security level. This level is defined in {@link com.sun.jmx.snmp.SnmpEngine SnmpEngine}. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise -1 is returned.     * @return The security level.     */    public int getSecurityLevel() {	return securityLevel;    }    /**     * Gets the incoming request security model. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise -1 is returned.     * @return The security model.     */    public int getSecurityModel() {	return securityModel;    }    /**     * Gets the incoming request context name. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise null is returned.     * @return The context name.     */    public byte[] getContextName() {	return contextName;    }        /**     * Gets the incoming request context name used by Access Control Model in order to allow or deny the access to OIDs. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise null is returned.     * @return The checked context.     */    public byte[] getAccessContextName() {	return accessContextName;    }        // -------------------------------------------------------------------    // Implements the method defined in SnmpMibRequest interface.    // See SnmpMibRequest for the java doc.    // -------------------------------------------------------------------    public final SnmpPdu getPdu() {	return reqPdu;    }    // -------------------------------------------------------------------    // Implements the method defined in SnmpMibRequest interface.    // See SnmpMibRequest for the java doc.    // -------------------------------------------------------------------    public final Enumeration getElements()  {return varbinds.elements();}    // -------------------------------------------------------------------    // Implements the method defined in SnmpMibRequest interface.    // See SnmpMibRequest for the java doc.    // -------------------------------------------------------------------    public final Vector getSubList()  {return varbinds;}    // -------------------------------------------------------------------    // Implements the method defined in SnmpMibRequest interface.    // See SnmpMibRequest for the java doc.    // -------------------------------------------------------------------    public final int getSize()  {	if (varbinds == null) return 0;	return varbinds.size();    }    // -------------------------------------------------------------------    // Implements the method defined in SnmpMibRequest interface.    // See SnmpMibRequest for the java doc.    // -------------------------------------------------------------------    public final int         getVersion()  {return version;}    // -------------------------------------------------------------------    // Implements the method defined in SnmpMibRequest interface.    // See SnmpMibRequest for the java doc.    // -------------------------------------------------------------------    public final int         getRequestPduVersion()  {return reqPdu.version;}    // -------------------------------------------------------------------    // Implements the method defined in SnmpMibRequest interface.    // See SnmpMibRequest for the java doc.    // -------------------------------------------------------------------    public final Object      getUserData() {return data;}    // -------------------------------------------------------------------    // Implements the method defined in SnmpMibRequest interface.    // See SnmpMibRequest for the java doc.    // -------------------------------------------------------------------    public final int getVarIndex(SnmpVarBind varbind) {	return varbinds.indexOf(varbind);    }    // -------------------------------------------------------------------    // Implements the method defined in SnmpMibRequest interface.    // See SnmpMibRequest for the java doc.    // -------------------------------------------------------------------    public void addVarBind(SnmpVarBind varbind) {	varbinds.addElement(varbind);    }    // -------------------------------------------------------------------    // PACKAGE METHODS    // -------------------------------------------------------------------    // -------------------------------------------------------------------    // Allow to pass the request tree built during the check() phase    // to the set() method. Note: the if the tree is `null', then the    // set() method will rebuild a new tree identical to the tree built    // in the check() method.    //    // Passing this tree in the SnmpMibRequestImpl object allows to     // optimize the SET requests.    //    // -------------------------------------------------------------------    final void setRequestTree(SnmpRequestTree tree) {this.tree = tree;}    // -------------------------------------------------------------------    // Returns the SnmpRequestTree object built in the first operation     // phase for two-phase SNMP requests (like SET).    // -------------------------------------------------------------------    final SnmpRequestTree getRequestTree() {return tree;}    // -------------------------------------------------------------------    // Returns the underlying vector of SNMP varbinds (used for algorithm    // optimization).    // -------------------------------------------------------------------    final Vector getVarbinds() {return varbinds;}     // -------------------------------------------------------------------    // Private variables    // -------------------------------------------------------------------    // Ideally these variables should be declared final but it makes    // the jdk1.1.x compiler complain (seems to be a compiler bug, jdk1.2    // is OK).    private Vector varbinds;    private int    version;    private Object data;    private SnmpPdu reqPdu = null;    // Non final variable.    private SnmpRequestTree tree = null;    private SnmpEngine engine = null;    private String principal = null;    private int securityLevel = -1;    private int securityModel = -1;    private byte[] contextName = null;    private byte[] accessContextName = null;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -