blob: 54dd8b06ae62eb6aa36d0ef06b3853269f82c873 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001/*
2 * Copyright 2003-2004 Sun Microsystems, Inc. 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. Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25package sun.management.snmp.jvminstr;
26
27// java imports
28//
29import java.io.Serializable;
30import java.lang.management.ManagementFactory;
31import java.lang.management.OperatingSystemMXBean;
32
33// jmx imports
34//
35import javax.management.MBeanServer;
36import com.sun.jmx.snmp.SnmpString;
37import com.sun.jmx.snmp.SnmpStatusException;
38
39// jdmk imports
40//
41import com.sun.jmx.snmp.agent.SnmpMib;
42
43import sun.management.snmp.jvmmib.JvmOSMBean;
44
45/**
46 * The class is used for implementing the "JvmOS" group.
47 */
48public class JvmOSImpl implements JvmOSMBean, Serializable {
49
50 /**
51 * Constructor for the "JvmOS" group.
52 * If the group contains a table, the entries created through an
53 * SNMP SET will not be registered in Java DMK.
54 */
55 public JvmOSImpl(SnmpMib myMib) {
56 }
57
58
59 /**
60 * Constructor for the "JvmOS" group.
61 * If the group contains a table, the entries created through an
62 * SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
63 */
64 public JvmOSImpl(SnmpMib myMib, MBeanServer server) {
65 }
66
67 static OperatingSystemMXBean getOSMBean() {
68 return ManagementFactory.getOperatingSystemMXBean();
69 }
70
71 private static String validDisplayStringTC(String str) {
72 return JVM_MANAGEMENT_MIB_IMPL.validDisplayStringTC(str);
73 }
74
75 private static String validJavaObjectNameTC(String str) {
76 return JVM_MANAGEMENT_MIB_IMPL.validJavaObjectNameTC(str);
77 }
78
79 /**
80 * Getter for the "JvmRTProcessorCount" variable.
81 */
82 public Integer getJvmOSProcessorCount() throws SnmpStatusException {
83 return new Integer(getOSMBean().getAvailableProcessors());
84
85 }
86
87 /**
88 * Getter for the "JvmOSVersion" variable.
89 */
90 public String getJvmOSVersion() throws SnmpStatusException {
91 return validDisplayStringTC(getOSMBean().getVersion());
92 }
93
94 /**
95 * Getter for the "JvmOSArch" variable.
96 */
97 public String getJvmOSArch() throws SnmpStatusException {
98 return validDisplayStringTC(getOSMBean().getArch());
99 }
100
101 /**
102 * Getter for the "JvmOSName" variable.
103 */
104 public String getJvmOSName() throws SnmpStatusException {
105 return validJavaObjectNameTC(getOSMBean().getName());
106 }
107
108}