com.sun.enterprise.admin.monitor.registry.StatsHolder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of stats77 Show documentation
Show all versions of stats77 Show documentation
Interim replacement for JSR 77 Stats and Statistics
/*
* Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
* version 2 with the GNU Classpath Exception, which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
package com.sun.enterprise.admin.monitor.registry;
import org.glassfish.j2ee.statistics.Stats;
import javax.management.ObjectName;
import java.util.Collection;
/**
* Provides the ability to associate various j2ee components
* and sub components in a hierarchical tree. Holds references to
* underlying Stats objects. On instantiation, the Stats object is
* converted to a DynamicMBean instance. When monitoring level is
* changed from OFF to LOW or HIGH, the MBean is registered with an
* MBeanServer. Calls made to the MBean are delegated to this object
* which in turn delegates it to underlying Stats object.
* @author Shreedhar Ganapathy
*/
public interface StatsHolder {
/**
* Add a child node or leaf to this node.
* @param statsHolder
*/
StatsHolder addChild(String name, MonitoredObjectType type);
/**
* return an array of StatHolder objects each representing a child
* of this node.
* @return Collection
*/
Collection getAllChildren();
/**
* removes all children belonging to this node.
*/
void removeAllChildren();
/**
* Returns name of this hierarchical node
*/
String getName();
/**
* Returns type of this hierarchical node
*/
MonitoredObjectType getType();
/**
* sets this hierarchical node's associated stats object. Used when node was
* originally created without a Stats implementation or a new monitoring
* level has been set requiring a new Stats registration
*/
void setStats(Stats stats);
Stats getStats();
void setStatsClass(Class c);
Class getStatsClass();
void setStatsClassName(String cName);
String getStatsClassName();
/**
* Sets the ObjectName pertaining to the MBean for this node.
*/
void setObjectName(ObjectName name);
/**
* Gets the ObjectName pertaining to the MBean for this node.
*/
ObjectName getObjectName();
/**
* Sets the hierarchically denoted dotted name for this node.
*/
void setDottedName(String dottedName);
/**
* Gets the hierarchically denoted dotted name for this node.
*/
String getDottedName();
/**
* Registers a monitoring MBean with the MBeanServer
*/
void registerMBean();
/**
* Unregisters a monitoring MBean from the MBean Server
*/
void unregisterMBean();
void setType(MonitoredObjectType type);
StatsHolder getChild(String name);
void removeChild(String name);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy