diff -r fd16c54261b3 -r 90ce3da70b43 jdk/test/javax/management/remote/mandatory/passwordAccessFile/SimpleStandard.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/management/remote/mandatory/passwordAccessFile/SimpleStandard.java Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,156 @@ +/* + * Copyright 2003 Sun Microsystems, Inc. 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. + * + * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * build @BUILD_TAG_PLACEHOLDER@ + * + * @COPYRIGHT_MINI_LEGAL_NOTICE_PLACEHOLDER@ + */ + +/** + * Simple definition of a standard MBean, named "SimpleStandard". + * + * The "SimpleStandard" standard MBean shows how to expose attributes + * and operations for management by implementing its corresponding + * "SimpleStandardMBean" management interface. + * + * This MBean has two attributes and one operation exposed + * for management by a JMX agent: + * - the read/write "State" attribute, + * - the read only "NbChanges" attribute, + * - the "reset()" operation. + * + * This object also has one property and one method not exposed + * for management by a JMX agent: + * - the "NbResets" property, + * - the "getNbResets()" method. + */ + +import javax.management.AttributeChangeNotification; +import javax.management.NotificationBroadcasterSupport; + +public class SimpleStandard + extends NotificationBroadcasterSupport + implements SimpleStandardMBean { + + /* + * ----------------------------------------------------- + * CONSTRUCTORS + * ----------------------------------------------------- + */ + + /* "SimpleStandard" does not provide any specific constructors. + * However, "SimpleStandard" is JMX compliant with regards to + * contructors because the default contructor SimpleStandard() + * provided by the Java compiler is public. + */ + + /* + * ----------------------------------------------------- + * IMPLEMENTATION OF THE SimpleStandardMBean INTERFACE + * ----------------------------------------------------- + */ + + /** + * Getter: get the "State" attribute of the "SimpleStandard" standard MBean. + * + * @return the current value of the "State" attribute. + */ + public String getState() { + return state; + } + + /** + * Setter: set the "State" attribute of the "SimpleStandard" standard MBean. + * + * @param s the new value of the "State" attribute. + */ + public void setState(String s) { + state = s; + nbChanges++; + } + + /** + * Getter: get the "NbChanges" attribute of the "SimpleStandard" standard + * MBean. + * + * @return the current value of the "NbChanges" attribute. + */ + public int getNbChanges() { + return nbChanges; + } + + /** + * Operation: reset to their initial values the "State" and "NbChanges" + * attributes of the "SimpleStandard" standard MBean. + */ + public void reset() { + AttributeChangeNotification acn = + new AttributeChangeNotification(this, + 0, + 0, + "NbChanges reset", + "NbChanges", + "Integer", + new Integer(nbChanges), + new Integer(0)); + state = "initial state"; + nbChanges = 0; + nbResets++; + sendNotification(acn); + } + + /* + * ----------------------------------------------------- + * METHOD NOT EXPOSED FOR MANAGEMENT BY A JMX AGENT + * ----------------------------------------------------- + */ + + /** + * Return the "NbResets" property. + * This method is not a Getter in the JMX sense because it + * is not exposed in the "SimpleStandardMBean" interface. + * + * @return the current value of the "NbResets" property. + */ + public int getNbResets() { + return nbResets; + } + + /* + * ----------------------------------------------------- + * ATTRIBUTES ACCESSIBLE FOR MANAGEMENT BY A JMX AGENT + * ----------------------------------------------------- + */ + + private String state = "initial state"; + private int nbChanges = 0; + + /* + * ----------------------------------------------------- + * PROPERTY NOT ACCESSIBLE FOR MANAGEMENT BY A JMX AGENT + * ----------------------------------------------------- + */ + + private int nbResets = 0; +}