- /*
- * @(#)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.*;
-
- /**
- * <p>
- *
- * @author Hemanth Puttaswamy
- * </p>
- * <p>
- * 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.
- * </p>
- */
- public interface MonitoredAttribute {
-
- ///////////////////////////////////////
- // operations
-
- /**
- * <p>
- * Gets the Monitored Attribute Info for the attribute.
- * </p>
- * <p>
- *
- * @param monitoredAttributeInfo for this Monitored Attribute.
- * </p>
- */
- public MonitoredAttributeInfo getAttributeInfo();
- /**
- * <p>
- * 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.
- * </p>
- * <p>
- *
- * @param value should be any one of the Basic Java Type Objects which are
- * Long, Double, Float, String, Integer, Short, Character, Byte.
- * </p>
- */
- public void setValue(Object value);
-
-
- /**
- * <p>
- * 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.
- * </p>
- * <p>
- *
- * </p>
- * <p>
- *
- * @param value is the current value for this MonitoredAttribute
- * </p>
- */
- public Object getValue();
- /**
- * <p>
- * Gets the name of the Monitored Attribute.
- * </p>
- * <p>
- *
- * @param name of this Attribute
- * </p>
- */
- public String getName();
- /**
- * <p>
- * 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.
- * </p>
- *
- */
- public void clearState();
-
- } // end MonitoredAttribute