KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sourceforge > groboutils > pmti > v1 > autodoc > v1 > ITFMonitor


1 /*
2  * @(#)ITFMonitor.java
3  *
4  * Copyright (C) 2002-2003 Matt Albrecht
5  * groboclown@users.sourceforge.net
6  * http://groboutils.sourceforge.net
7  *
8  * Part of the GroboUtils package at:
9  * http://groboutils.sourceforge.net
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included in
19  * all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27  * DEALINGS IN THE SOFTWARE.
28  */

29 package net.sourceforge.groboutils.pmti.v1.autodoc.v1;
30
31
32 import net.sourceforge.groboutils.autodoc.v1.testserver.Monitor;
33 import net.sourceforge.groboutils.autodoc.v1.testserver.DefaultMonitor;
34 import net.sourceforge.groboutils.autodoc.v1.testserver.Server;
35 import net.sourceforge.groboutils.autodoc.v1.testserver.TestDataFactory;
36
37 import net.sourceforge.groboutils.util.classes.v1.SingletonStore;
38
39
40 /**
41  * This implemenation of <tt>Monitor</tt> uses a Hashtable to store the
42  * test data.
43  * <P>
44  * This probably should be rewritten so that DefaultMonitor is a delegate-to
45  * inner object, not a super class.
46  *
47  * @author Matt Albrecht <a HREF="mailto:groboclown@users.sourceforge.net">groboclown@users.sourceforge.net</a>
48  * @since March 17, 2002
49  * @version $Date: 2003/02/10 22:51:56 $
50  */

51 public class ITFMonitor extends DefaultMonitor // implements Monitor
52
{
53     public static final String JavaDoc FACTORY_PROPERTY_NAME =
54         ITFFactory.class.getName() + ".implementation";
55     public static final Class JavaDoc DEFAULT_FACTORY = DefaultITFFactory.class;
56
57     private static final SingletonStore s_factoryStore = new SingletonStore(
58         ITFFactory.class, DEFAULT_FACTORY, FACTORY_PROPERTY_NAME );
59     
60     
61     
62     /**
63      * Default constructor.
64      */

65     public ITFMonitor()
66     {
67         this( getFactory().getServer(), getFactory().getTestDataFactory() );
68     }
69     
70     
71     /**
72      * Constructor for a Monitor requiring a reference to the Server which will
73      * receive the completed <tt>TestData</tt> structures, and a reference to
74      * a factory for creating new <tt>TestData</tt> instances for the particular
75      * framework this Monitor belongs to.
76      *
77      * @param s the server to receive completed <tt>TestData</tt> entities.
78      * This cannot be <tt>null</tt>.
79      * @param f the factory in charge of creating new <tt>TestData</tt>
80      * entities. This cannot be <tt>null</tt>.
81      * @exception IllegalArgumentException if <tt>s</tt> or <tt>f</tt> is
82      * <tt>null</tt>.
83      */

84     public ITFMonitor( Server s, TestDataFactory f )
85     {
86         super( s, f );
87     }
88
89
90
91     
92     
93     /**
94      * Retrieves the pseudo-singleton factory of the correct type.
95      */

96     public static ITFFactory getFactory()
97     {
98         return (ITFFactory)getFactoryStore().getSingleton();
99     }
100     
101     
102     /**
103      * Set the factory to whatever is in the system property.
104      */

105     public static SingletonStore getFactoryStore()
106     {
107         return s_factoryStore;
108     }
109 }
110
111
Popular Tags