/* * @(#)MonitoredAttribute.java 1.3 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package com.sun.corba.se.spi.monitoring; import com.sun.corba.se.spi.monitoring.MonitoredAttributeInfo; import java.util.*; /** *

* * @author Hemanth Puttaswamy *

*

* Monitored Attribute is the interface to represent a Monitorable * Attribute. Using this interface, one can get the value of the attribute * and set the value if it is a writeable attribute. *

*/ public interface MonitoredAttribute { /////////////////////////////////////// // operations /** *

* Gets the Monitored Attribute Info for the attribute. *

*

* * @param monitoredAttributeInfo for this Monitored Attribute. *

*/ public MonitoredAttributeInfo getAttributeInfo(); /** *

* Sets the value for the Monitored Attribute if isWritable() is false, the * method will throw ILLEGAL Operation exception. * * Also, the type of 'value' should be same as specified in the * MonitoredAttributeInfo for a particular instance. *

*

* * @param value should be any one of the Basic Java Type Objects which are * Long, Double, Float, String, Integer, Short, Character, Byte. *

*/ public void setValue(Object value); /** *

* Gets the value of the Monitored Attribute. The value can be obtained * from different parts of the module. User may choose to delegate the call * to getValue() to other variables. * * NOTE: It is important to make sure that the type of Object returned in * getvalue is same as the one specified in MonitoredAttributeInfo for this * attribute. *

*

* *

*

* * @param value is the current value for this MonitoredAttribute *

*/ public Object getValue(); /** *

* Gets the name of the Monitored Attribute. *

*

* * @param name of this Attribute *

*/ public String getName(); /** *

* If this attribute needs to be cleared, the user needs to implement this * method to reset the state to initial state. If the Monitored Attribute * doesn't change like for example (ConnectionManager High Water Mark), * then clearState() is a No Op. *

* */ public void clearState(); } // end MonitoredAttribute