1 /*
   2  * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package sun.management.snmp.jvmmib;
  27 
  28 //
  29 // Generated by mibgen version 5.0 (06/02/03) when compiling JVM-MANAGEMENT-MIB in standard metadata mode.
  30 //
  31 
  32 // java imports
  33 //
  34 import java.io.Serializable;
  35 
  36 // jmx imports
  37 //
  38 import javax.management.MBeanServer;
  39 import com.sun.jmx.snmp.SnmpCounter;
  40 import com.sun.jmx.snmp.SnmpCounter64;
  41 import com.sun.jmx.snmp.SnmpGauge;
  42 import com.sun.jmx.snmp.SnmpInt;
  43 import com.sun.jmx.snmp.SnmpUnsignedInt;
  44 import com.sun.jmx.snmp.SnmpIpAddress;
  45 import com.sun.jmx.snmp.SnmpTimeticks;
  46 import com.sun.jmx.snmp.SnmpOpaque;
  47 import com.sun.jmx.snmp.SnmpString;
  48 import com.sun.jmx.snmp.SnmpStringFixed;
  49 import com.sun.jmx.snmp.SnmpOid;
  50 import com.sun.jmx.snmp.SnmpNull;
  51 import com.sun.jmx.snmp.SnmpValue;
  52 import com.sun.jmx.snmp.SnmpVarBind;
  53 import com.sun.jmx.snmp.SnmpStatusException;
  54 
  55 // jdmk imports
  56 //
  57 import com.sun.jmx.snmp.agent.SnmpMibNode;
  58 import com.sun.jmx.snmp.agent.SnmpMib;
  59 import com.sun.jmx.snmp.agent.SnmpMibEntry;
  60 import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
  61 import com.sun.jmx.snmp.agent.SnmpStandardMetaServer;
  62 import com.sun.jmx.snmp.agent.SnmpMibSubRequest;
  63 import com.sun.jmx.snmp.agent.SnmpMibTable;
  64 import com.sun.jmx.snmp.EnumRowStatus;
  65 import com.sun.jmx.snmp.SnmpDefinitions;
  66 
  67 /**
  68  * The class is used for representing SNMP metadata for the "JvmRTLibraryPathEntry" group.
  69  * The group is defined with the following oid: 1.3.6.1.4.1.42.2.145.3.163.1.1.4.23.1.
  70  */
  71 public class JvmRTLibraryPathEntryMeta extends SnmpMibEntry
  72      implements Serializable, SnmpStandardMetaServer {
  73 
  74     static final long serialVersionUID = -5851555586263475792L;
  75     /**
  76      * Constructor for the metadata associated to "JvmRTLibraryPathEntry".
  77      */
  78     public JvmRTLibraryPathEntryMeta(SnmpMib myMib, SnmpStandardObjectServer objserv) {
  79         objectserver = objserv;
  80         varList = new int[1];
  81         varList[0] = 2;
  82         SnmpMibNode.sort(varList);
  83     }
  84 
  85     /**
  86      * Get the value of a scalar variable
  87      */
  88     public SnmpValue get(long var, Object data)
  89         throws SnmpStatusException {
  90         switch((int)var) {
  91             case 2:
  92                 return new SnmpString(node.getJvmRTLibraryPathItem());
  93 
  94             case 1:
  95                 throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
  96             default:
  97                 break;
  98         }
  99         throw new SnmpStatusException(SnmpStatusException.noSuchObject);
 100     }
 101 
 102     /**
 103      * Set the value of a scalar variable
 104      */
 105     public SnmpValue set(SnmpValue x, long var, Object data)
 106         throws SnmpStatusException {
 107         switch((int)var) {
 108             case 2:
 109                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 110 
 111             case 1:
 112                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 113 
 114             default:
 115                 break;
 116         }
 117         throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 118     }
 119 
 120     /**
 121      * Check the value of a scalar variable
 122      */
 123     public void check(SnmpValue x, long var, Object data)
 124         throws SnmpStatusException {
 125         switch((int) var) {
 126             case 2:
 127                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 128 
 129             case 1:
 130                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 131 
 132             default:
 133                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 134         }
 135     }
 136 
 137     /**
 138      * Allow to bind the metadata description to a specific object.
 139      */
 140     protected void setInstance(JvmRTLibraryPathEntryMBean var) {
 141         node = var;
 142     }
 143 
 144 
 145     // ------------------------------------------------------------
 146     //
 147     // Implements the "get" method defined in "SnmpMibEntry".
 148     // See the "SnmpMibEntry" Javadoc API for more details.
 149     //
 150     // ------------------------------------------------------------
 151 
 152     public void get(SnmpMibSubRequest req, int depth)
 153         throws SnmpStatusException {
 154         objectserver.get(this,req,depth);
 155     }
 156 
 157 
 158     // ------------------------------------------------------------
 159     //
 160     // Implements the "set" method defined in "SnmpMibEntry".
 161     // See the "SnmpMibEntry" Javadoc API for more details.
 162     //
 163     // ------------------------------------------------------------
 164 
 165     public void set(SnmpMibSubRequest req, int depth)
 166         throws SnmpStatusException {
 167         objectserver.set(this,req,depth);
 168     }
 169 
 170 
 171     // ------------------------------------------------------------
 172     //
 173     // Implements the "check" method defined in "SnmpMibEntry".
 174     // See the "SnmpMibEntry" Javadoc API for more details.
 175     //
 176     // ------------------------------------------------------------
 177 
 178     public void check(SnmpMibSubRequest req, int depth)
 179         throws SnmpStatusException {
 180         objectserver.check(this,req,depth);
 181     }
 182 
 183     /**
 184      * Returns true if "arc" identifies a scalar object.
 185      */
 186     public boolean isVariable(long arc) {
 187 
 188         switch((int)arc) {
 189             case 2:
 190             case 1:
 191                 return true;
 192             default:
 193                 break;
 194         }
 195         return false;
 196     }
 197 
 198     /**
 199      * Returns true if "arc" identifies a readable scalar object.
 200      */
 201     public boolean isReadable(long arc) {
 202 
 203         switch((int)arc) {
 204             case 2:
 205                 return true;
 206             default:
 207                 break;
 208         }
 209         return false;
 210     }
 211 
 212 
 213     // ------------------------------------------------------------
 214     //
 215     // Implements the "skipVariable" method defined in "SnmpMibEntry".
 216     // See the "SnmpMibEntry" Javadoc API for more details.
 217     //
 218     // ------------------------------------------------------------
 219 
 220     public boolean  skipVariable(long var, Object data, int pduVersion) {
 221         switch((int)var) {
 222             case 1:
 223                 return true;
 224             default:
 225                 break;
 226         }
 227         return super.skipVariable(var,data,pduVersion);
 228     }
 229 
 230     /**
 231      * Return the name of the attribute corresponding to the SNMP variable identified by "id".
 232      */
 233     public String getAttributeName(long id)
 234         throws SnmpStatusException {
 235         switch((int)id) {
 236             case 2:
 237                 return "JvmRTLibraryPathItem";
 238 
 239             case 1:
 240                 return "JvmRTLibraryPathIndex";
 241 
 242             default:
 243                 break;
 244         }
 245         throw new SnmpStatusException(SnmpStatusException.noSuchObject);
 246     }
 247 
 248     protected JvmRTLibraryPathEntryMBean node;
 249     protected SnmpStandardObjectServer objectserver = null;
 250 }