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 }