/*
* Copyright (c) 2003, Oracle and/or its affiliates. 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. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package org.jboss.com.sun.corba.se.spi.monitoring;
import org.jboss.com.sun.corba.se.impl.monitoring.MonitoredAttributeInfoFactoryImpl;
import org.jboss.com.sun.corba.se.impl.monitoring.MonitoredObjectFactoryImpl;
import org.jboss.com.sun.corba.se.impl.monitoring.MonitoringManagerFactoryImpl;
/**
* <p>
*
* @author Hemanth Puttaswamy
* </p>
* <p>
* This is used for getting the default factories for MonitoredObject, MonitoredAttributeInfo and
* MonitoringManager. We do not expect users to use the MonitoredAttributeInfo factory most of the time because
* the Info is automatically built by StringMonitoredAttributeBase and LongMonitoredAttributeBase.
* </p>
*/
public class MonitoringFactories
{
// /////////////////////////////////////
// attributes
private static final MonitoredObjectFactoryImpl monitoredObjectFactory = new MonitoredObjectFactoryImpl();
private static final MonitoredAttributeInfoFactoryImpl monitoredAttributeInfoFactory = new MonitoredAttributeInfoFactoryImpl();
private static final MonitoringManagerFactoryImpl monitoringManagerFactory = new MonitoringManagerFactoryImpl();
// /////////////////////////////////////
// operations
/**
* <p>
* Gets the MonitoredObjectFactory
* </p>
* <p>
*
* @return a MonitoredObjectFactory
* </p>
*/
public static MonitoredObjectFactory getMonitoredObjectFactory()
{
return monitoredObjectFactory;
}
/**
* <p>
* Gets the MonitoredAttributeInfoFactory. The user is not expected to use this Factory, since the
* MonitoredAttributeInfo is internally created by StringMonitoredAttributeBase, LongMonitoredAttributeBase and
* StatisticMonitoredAttribute. If User wants to create a MonitoredAttribute of some other special type like a
* DoubleMonitoredAttribute, they can build a DoubleMonitoredAttributeBase like LongMonitoredAttributeBase and build
* a MonitoredAttributeInfo required by MonitoredAttributeBase internally by using this Factory.
* </p>
* <p>
*
* @return a MonitoredAttributeInfoFactory
* </p>
*/
public static MonitoredAttributeInfoFactory getMonitoredAttributeInfoFactory()
{
return monitoredAttributeInfoFactory;
}
/**
* <p>
* Gets the MonitoredManagerFactory. The user is not expected to use this Factory, since the ORB will be
* automatically initialized with the MonitoringManager.
*
* User can get hold of MonitoringManager associated with ORB by calling orb.getMonitoringManager( )
* </p>
* <p>
*
* @return a MonitoredManagerFactory
* </p>
*/
public static MonitoringManagerFactory getMonitoringManagerFactory()
{
return monitoringManagerFactory;
}
}