1 /*
   2  * Copyright (c) 2003, 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 "JvmMemPoolEntry" group.
  69  * The group is defined with the following oid: 1.3.6.1.4.1.42.2.145.3.163.1.1.2.110.1.
  70  */
  71 public class JvmMemPoolEntryMeta extends SnmpMibEntry
  72      implements Serializable, SnmpStandardMetaServer {
  73 
  74     static final long serialVersionUID = 7220682779249102830L;
  75     /**
  76      * Constructor for the metadata associated to "JvmMemPoolEntry".
  77      */
  78     public JvmMemPoolEntryMeta(SnmpMib myMib, SnmpStandardObjectServer objserv) {
  79         objectserver = objserv;
  80         varList = new int[20];
  81         varList[0] = 33;
  82         varList[1] = 32;
  83         varList[2] = 31;
  84         varList[3] = 133;
  85         varList[4] = 132;
  86         varList[5] = 131;
  87         varList[6] = 13;
  88         varList[7] = 12;
  89         varList[8] = 11;
  90         varList[9] = 10;
  91         varList[10] = 112;
  92         varList[11] = 111;
  93         varList[12] = 110;
  94         varList[13] = 5;
  95         varList[14] = 4;
  96         varList[15] = 3;
  97         varList[16] = 2;
  98         varList[17] = 23;
  99         varList[18] = 22;
 100         varList[19] = 21;
 101         SnmpMibNode.sort(varList);
 102     }
 103 
 104     /**
 105      * Get the value of a scalar variable
 106      */
 107     public SnmpValue get(long var, Object data)
 108         throws SnmpStatusException {
 109         switch((int)var) {
 110             case 33:
 111                 return new SnmpCounter64(node.getJvmMemPoolCollectMaxSize());
 112 
 113             case 32:
 114                 return new SnmpCounter64(node.getJvmMemPoolCollectCommitted());
 115 
 116             case 31:
 117                 return new SnmpCounter64(node.getJvmMemPoolCollectUsed());
 118 
 119             case 133:
 120                 return new SnmpInt(node.getJvmMemPoolCollectThreshdSupport());
 121 
 122             case 132:
 123                 return new SnmpCounter64(node.getJvmMemPoolCollectThreshdCount());
 124 
 125             case 131:
 126                 return new SnmpCounter64(node.getJvmMemPoolCollectThreshold());
 127 
 128             case 13:
 129                 return new SnmpCounter64(node.getJvmMemPoolMaxSize());
 130 
 131             case 12:
 132                 return new SnmpCounter64(node.getJvmMemPoolCommitted());
 133 
 134             case 11:
 135                 return new SnmpCounter64(node.getJvmMemPoolUsed());
 136 
 137             case 10:
 138                 return new SnmpCounter64(node.getJvmMemPoolInitSize());
 139 
 140             case 112:
 141                 return new SnmpInt(node.getJvmMemPoolThreshdSupport());
 142 
 143             case 111:
 144                 return new SnmpCounter64(node.getJvmMemPoolThreshdCount());
 145 
 146             case 110:
 147                 return new SnmpCounter64(node.getJvmMemPoolThreshold());
 148 
 149             case 5:
 150                 return new SnmpCounter64(node.getJvmMemPoolPeakReset());
 151 
 152             case 4:
 153                 return new SnmpInt(node.getJvmMemPoolState());
 154 
 155             case 3:
 156                 return new SnmpInt(node.getJvmMemPoolType());
 157 
 158             case 2:
 159                 return new SnmpString(node.getJvmMemPoolName());
 160 
 161             case 23:
 162                 return new SnmpCounter64(node.getJvmMemPoolPeakMaxSize());
 163 
 164             case 1:
 165                 throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
 166             case 22:
 167                 return new SnmpCounter64(node.getJvmMemPoolPeakCommitted());
 168 
 169             case 21:
 170                 return new SnmpCounter64(node.getJvmMemPoolPeakUsed());
 171 
 172             default:
 173                 break;
 174         }
 175         throw new SnmpStatusException(SnmpStatusException.noSuchObject);
 176     }
 177 
 178     /**
 179      * Set the value of a scalar variable
 180      */
 181     public SnmpValue set(SnmpValue x, long var, Object data)
 182         throws SnmpStatusException {
 183         switch((int)var) {
 184             case 33:
 185                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 186 
 187             case 32:
 188                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 189 
 190             case 31:
 191                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 192 
 193             case 133:
 194                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 195 
 196             case 132:
 197                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 198 
 199             case 131:
 200                 if (x instanceof SnmpCounter64) {
 201                     node.setJvmMemPoolCollectThreshold(((SnmpCounter64)x).toLong());
 202                     return new SnmpCounter64(node.getJvmMemPoolCollectThreshold());
 203                 } else {
 204                     throw new SnmpStatusException(SnmpStatusException.snmpRspWrongType);
 205                 }
 206 
 207             case 13:
 208                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 209 
 210             case 12:
 211                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 212 
 213             case 11:
 214                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 215 
 216             case 10:
 217                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 218 
 219             case 112:
 220                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 221 
 222             case 111:
 223                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 224 
 225             case 110:
 226                 if (x instanceof SnmpCounter64) {
 227                     node.setJvmMemPoolThreshold(((SnmpCounter64)x).toLong());
 228                     return new SnmpCounter64(node.getJvmMemPoolThreshold());
 229                 } else {
 230                     throw new SnmpStatusException(SnmpStatusException.snmpRspWrongType);
 231                 }
 232 
 233             case 5:
 234                 if (x instanceof SnmpCounter64) {
 235                     node.setJvmMemPoolPeakReset(((SnmpCounter64)x).toLong());
 236                     return new SnmpCounter64(node.getJvmMemPoolPeakReset());
 237                 } else {
 238                     throw new SnmpStatusException(SnmpStatusException.snmpRspWrongType);
 239                 }
 240 
 241             case 4:
 242                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 243 
 244             case 3:
 245                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 246 
 247             case 2:
 248                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 249 
 250             case 23:
 251                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 252 
 253             case 1:
 254                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 255 
 256             case 22:
 257                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 258 
 259             case 21:
 260                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 261 
 262             default:
 263                 break;
 264         }
 265         throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 266     }
 267 
 268     /**
 269      * Check the value of a scalar variable
 270      */
 271     public void check(SnmpValue x, long var, Object data)
 272         throws SnmpStatusException {
 273         switch((int) var) {
 274             case 33:
 275                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 276 
 277             case 32:
 278                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 279 
 280             case 31:
 281                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 282 
 283             case 133:
 284                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 285 
 286             case 132:
 287                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 288 
 289             case 131:
 290                 if (x instanceof SnmpCounter64) {
 291                     node.checkJvmMemPoolCollectThreshold(((SnmpCounter64)x).toLong());
 292                 } else {
 293                     throw new SnmpStatusException(SnmpStatusException.snmpRspWrongType);
 294                 }
 295                 break;
 296 
 297             case 13:
 298                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 299 
 300             case 12:
 301                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 302 
 303             case 11:
 304                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 305 
 306             case 10:
 307                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 308 
 309             case 112:
 310                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 311 
 312             case 111:
 313                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 314 
 315             case 110:
 316                 if (x instanceof SnmpCounter64) {
 317                     node.checkJvmMemPoolThreshold(((SnmpCounter64)x).toLong());
 318                 } else {
 319                     throw new SnmpStatusException(SnmpStatusException.snmpRspWrongType);
 320                 }
 321                 break;
 322 
 323             case 5:
 324                 if (x instanceof SnmpCounter64) {
 325                     node.checkJvmMemPoolPeakReset(((SnmpCounter64)x).toLong());
 326                 } else {
 327                     throw new SnmpStatusException(SnmpStatusException.snmpRspWrongType);
 328                 }
 329                 break;
 330 
 331             case 4:
 332                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 333 
 334             case 3:
 335                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 336 
 337             case 2:
 338                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 339 
 340             case 23:
 341                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 342 
 343             case 1:
 344                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 345 
 346             case 22:
 347                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 348 
 349             case 21:
 350                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 351 
 352             default:
 353                 throw new SnmpStatusException(SnmpStatusException.snmpRspNotWritable);
 354         }
 355     }
 356 
 357     /**
 358      * Allow to bind the metadata description to a specific object.
 359      */
 360     protected void setInstance(JvmMemPoolEntryMBean var) {
 361         node = var;
 362     }
 363 
 364 
 365     // ------------------------------------------------------------
 366     //
 367     // Implements the "get" method defined in "SnmpMibEntry".
 368     // See the "SnmpMibEntry" Javadoc API for more details.
 369     //
 370     // ------------------------------------------------------------
 371 
 372     public void get(SnmpMibSubRequest req, int depth)
 373         throws SnmpStatusException {
 374         objectserver.get(this,req,depth);
 375     }
 376 
 377 
 378     // ------------------------------------------------------------
 379     //
 380     // Implements the "set" method defined in "SnmpMibEntry".
 381     // See the "SnmpMibEntry" Javadoc API for more details.
 382     //
 383     // ------------------------------------------------------------
 384 
 385     public void set(SnmpMibSubRequest req, int depth)
 386         throws SnmpStatusException {
 387         objectserver.set(this,req,depth);
 388     }
 389 
 390 
 391     // ------------------------------------------------------------
 392     //
 393     // Implements the "check" method defined in "SnmpMibEntry".
 394     // See the "SnmpMibEntry" Javadoc API for more details.
 395     //
 396     // ------------------------------------------------------------
 397 
 398     public void check(SnmpMibSubRequest req, int depth)
 399         throws SnmpStatusException {
 400         objectserver.check(this,req,depth);
 401     }
 402 
 403     /**
 404      * Returns true if "arc" identifies a scalar object.
 405      */
 406     public boolean isVariable(long arc) {
 407 
 408         switch((int)arc) {
 409             case 33:
 410             case 32:
 411             case 31:
 412             case 133:
 413             case 132:
 414             case 131:
 415             case 13:
 416             case 12:
 417             case 11:
 418             case 10:
 419             case 112:
 420             case 111:
 421             case 110:
 422             case 5:
 423             case 4:
 424             case 3:
 425             case 2:
 426             case 23:
 427             case 1:
 428             case 22:
 429             case 21:
 430                 return true;
 431             default:
 432                 break;
 433         }
 434         return false;
 435     }
 436 
 437     /**
 438      * Returns true if "arc" identifies a readable scalar object.
 439      */
 440     public boolean isReadable(long arc) {
 441 
 442         switch((int)arc) {
 443             case 33:
 444             case 32:
 445             case 31:
 446             case 133:
 447             case 132:
 448             case 131:
 449             case 13:
 450             case 12:
 451             case 11:
 452             case 10:
 453             case 112:
 454             case 111:
 455             case 110:
 456             case 5:
 457             case 4:
 458             case 3:
 459             case 2:
 460             case 23:
 461             case 22:
 462             case 21:
 463                 return true;
 464             default:
 465                 break;
 466         }
 467         return false;
 468     }
 469 
 470 
 471     // ------------------------------------------------------------
 472     //
 473     // Implements the "skipVariable" method defined in "SnmpMibEntry".
 474     // See the "SnmpMibEntry" Javadoc API for more details.
 475     //
 476     // ------------------------------------------------------------
 477 
 478     public boolean  skipVariable(long var, Object data, int pduVersion) {
 479         switch((int)var) {
 480             case 33:
 481             case 32:
 482             case 31:
 483             case 132:
 484             case 131:
 485             case 13:
 486             case 12:
 487             case 11:
 488             case 10:
 489             case 111:
 490             case 110:
 491             case 5:
 492             case 23:
 493                 if (pduVersion==SnmpDefinitions.snmpVersionOne) return true;
 494                 break;
 495             case 1:
 496                 return true;
 497             case 22:
 498             case 21:
 499                 if (pduVersion==SnmpDefinitions.snmpVersionOne) return true;
 500                 break;
 501             default:
 502                 break;
 503         }
 504         return super.skipVariable(var,data,pduVersion);
 505     }
 506 
 507     /**
 508      * Return the name of the attribute corresponding to the SNMP variable identified by "id".
 509      */
 510     public String getAttributeName(long id)
 511         throws SnmpStatusException {
 512         switch((int)id) {
 513             case 33:
 514                 return "JvmMemPoolCollectMaxSize";
 515 
 516             case 32:
 517                 return "JvmMemPoolCollectCommitted";
 518 
 519             case 31:
 520                 return "JvmMemPoolCollectUsed";
 521 
 522             case 133:
 523                 return "JvmMemPoolCollectThreshdSupport";
 524 
 525             case 132:
 526                 return "JvmMemPoolCollectThreshdCount";
 527 
 528             case 131:
 529                 return "JvmMemPoolCollectThreshold";
 530 
 531             case 13:
 532                 return "JvmMemPoolMaxSize";
 533 
 534             case 12:
 535                 return "JvmMemPoolCommitted";
 536 
 537             case 11:
 538                 return "JvmMemPoolUsed";
 539 
 540             case 10:
 541                 return "JvmMemPoolInitSize";
 542 
 543             case 112:
 544                 return "JvmMemPoolThreshdSupport";
 545 
 546             case 111:
 547                 return "JvmMemPoolThreshdCount";
 548 
 549             case 110:
 550                 return "JvmMemPoolThreshold";
 551 
 552             case 5:
 553                 return "JvmMemPoolPeakReset";
 554 
 555             case 4:
 556                 return "JvmMemPoolState";
 557 
 558             case 3:
 559                 return "JvmMemPoolType";
 560 
 561             case 2:
 562                 return "JvmMemPoolName";
 563 
 564             case 23:
 565                 return "JvmMemPoolPeakMaxSize";
 566 
 567             case 1:
 568                 return "JvmMemPoolIndex";
 569 
 570             case 22:
 571                 return "JvmMemPoolPeakCommitted";
 572 
 573             case 21:
 574                 return "JvmMemPoolPeakUsed";
 575 
 576             default:
 577                 break;
 578         }
 579         throw new SnmpStatusException(SnmpStatusException.noSuchObject);
 580     }
 581 
 582     protected JvmMemPoolEntryMBean node;
 583     protected SnmpStandardObjectServer objectserver = null;
 584 }