302 lines · 8.8 KB · Java
RawDownload
/* * Copyright (c) 2003, 2004, 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 sun.management.snmp.jvmmib; //// Generated by mibgen version 5.0 (06/02/03) when compiling JVM-MANAGEMENT-MIB in standard metadata mode.// // java imports//import java.io.Serializable; // jmx imports//import javax.management.MBeanServer;import com.sun.jmx.snmp.SnmpCounter;import com.sun.jmx.snmp.SnmpCounter64;import com.sun.jmx.snmp.SnmpGauge;import com.sun.jmx.snmp.SnmpInt;import com.sun.jmx.snmp.SnmpUnsignedInt;import com.sun.jmx.snmp.SnmpIpAddress;import com.sun.jmx.snmp.SnmpTimeticks;import com.sun.jmx.snmp.SnmpOpaque;import com.sun.jmx.snmp.SnmpString;import com.sun.jmx.snmp.SnmpStringFixed;import com.sun.jmx.snmp.SnmpOid;import com.sun.jmx.snmp.SnmpNull;import com.sun.jmx.snmp.SnmpValue;import com.sun.jmx.snmp.SnmpVarBind;import com.sun.jmx.snmp.SnmpStatusException; // jdmk imports//import com.sun.jmx.snmp.agent.SnmpMib;import com.sun.jmx.snmp.agent.SnmpMibGroup;import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;import com.sun.jmx.snmp.agent.SnmpStandardMetaServer;import com.sun.jmx.snmp.agent.SnmpMibSubRequest;import com.sun.jmx.snmp.agent.SnmpMibTable;import com.sun.jmx.snmp.EnumRowStatus;import com.sun.jmx.snmp.SnmpDefinitions; /** * The class is used for representing SNMP metadata for the "JvmOS" group. * The group is defined with the following oid: 1.3.6.1.4.1.42.2.145.3.163.1.1.6. */public class JvmOSMeta extends SnmpMibGroup     implements Serializable, SnmpStandardMetaServer {     /**     * Constructor for the metadata associated to "JvmOS".     */    public JvmOSMeta(SnmpMib myMib, SnmpStandardObjectServer objserv) {        objectserver = objserv;        try {            registerObject(4);            registerObject(3);            registerObject(2);            registerObject(1);        } catch (IllegalAccessException e) {            throw new RuntimeException(e.getMessage());        }    }     /**     * Get the value of a scalar variable     */    public SnmpValue get(long var, Object data)        throws SnmpStatusException {        switch((int)var) {            case 4:                return new SnmpInt(node.getJvmOSProcessorCount());             case 3:                return new SnmpString(node.getJvmOSVersion());             case 2:                return new SnmpString(node.getJvmOSArch());             case 1:                return new SnmpString(node.getJvmOSName());             default:                break;        }        throw new SnmpStatusException(SnmpStatusException.noSuchObject);    }     /**     * Set the value of a scalar variable     */    public SnmpValue set(SnmpValue x, long var, Object data)        throws SnmpStatusException {        switch((int)var) {            case 4:                throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);             case 3:                throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);             case 2:                throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);             case 1:                throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);             default:                break;        }        throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);    }     /**     * Check the value of a scalar variable     */    public void check(SnmpValue x, long var, Object data)        throws SnmpStatusException {        switch((int) var) {            case 4:                throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);             case 3:                throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);             case 2:                throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);             case 1:                throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);             default:                throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);        }    }     /**     * Allow to bind the metadata description to a specific object.     */    protected void setInstance(JvmOSMBean var) {        node = var;    }      // ------------------------------------------------------------    //    // Implements the "get" method defined in "SnmpMibGroup".    // See the "SnmpMibGroup" Javadoc API for more details.    //    // ------------------------------------------------------------     public void get(SnmpMibSubRequest req, int depth)        throws SnmpStatusException {        objectserver.get(this,req,depth);    }      // ------------------------------------------------------------    //    // Implements the "set" method defined in "SnmpMibGroup".    // See the "SnmpMibGroup" Javadoc API for more details.    //    // ------------------------------------------------------------     public void set(SnmpMibSubRequest req, int depth)        throws SnmpStatusException {        objectserver.set(this,req,depth);    }      // ------------------------------------------------------------    //    // Implements the "check" method defined in "SnmpMibGroup".    // See the "SnmpMibGroup" Javadoc API for more details.    //    // ------------------------------------------------------------     public void check(SnmpMibSubRequest req, int depth)        throws SnmpStatusException {        objectserver.check(this,req,depth);    }     /**     * Returns true if "arc" identifies a scalar object.     */    public boolean isVariable(long arc) {         switch((int)arc) {            case 4:            case 3:            case 2:            case 1:                return true;            default:                break;        }        return false;    }     /**     * Returns true if "arc" identifies a readable scalar object.     */    public boolean isReadable(long arc) {         switch((int)arc) {            case 4:            case 3:            case 2:            case 1:                return true;            default:                break;        }        return false;    }      // ------------------------------------------------------------    //    // Implements the "skipVariable" method defined in "SnmpMibGroup".    // See the "SnmpMibGroup" Javadoc API for more details.    //    // ------------------------------------------------------------     public boolean  skipVariable(long var, Object data, int pduVersion) {        return super.skipVariable(var,data,pduVersion);    }     /**     * Return the name of the attribute corresponding to the SNMP variable identified by "id".     */    public String getAttributeName(long id)        throws SnmpStatusException {        switch((int)id) {            case 4:                return "JvmOSProcessorCount";             case 3:                return "JvmOSVersion";             case 2:                return "JvmOSArch";             case 1:                return "JvmOSName";             default:                break;        }        throw new SnmpStatusException(SnmpStatusException.noSuchObject);    }     /**     * Returns true if "arc" identifies a table object.     */    public boolean isTable(long arc) {         switch((int)arc) {            default:                break;        }        return false;    }     /**     * Returns the table object identified by "arc".     */    public SnmpMibTable getTable(long arc) {        return null;    }     /**     * Register the group's SnmpMibTable objects with the meta-data.     */    public void registerTableNodes(SnmpMib mib, MBeanServer server) {    }     protected JvmOSMBean node;    protected SnmpStandardObjectServer objectserver = null;}