/* * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.corba.se.spi.monitoring; import com.sun.corba.se.impl.monitoring.MonitoredObjectFactoryImpl; import com.sun.corba.se.impl.monitoring.MonitoredAttributeInfoFactoryImpl; import 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; } }