LocationEventResetterFactory.java
01 /*
02  * Created on 17.04.2004
03  */
04 package de.fub.tip.datenbank.factory;
05 
06 import javax.sql.DataSource;
07 
08 import de.fub.tip.datenbank.logik.LocationEventResetter;
09 
10 /**
11 * Sinn: Fabrik zur Herstellung von <code>LocationEventResetter</code>
12  * -Objekten
13  
14  @see de.fub.tip.datenbank.logik.LocationEventResetter
15  
16   @author hirsch, 17.04.2004
17  @version 17.04.2004
18  * $Id: LocationEventResetterFactory.java,v 1.2 2004/04/17 16:06:54 hirsch Exp $
19  
20  */
21 public class LocationEventResetterFactory implements LogicFactory {
22   /** die eigentliche Singleton-Instanz */
23   private static LocationEventResetterFactory instance = null;
24   /** Datenquelle, auf der das Logikobjekt arbeitet, das von der Fabrik gebaut wird*/
25   private static DataSource datasource = null;
26 
27   /**
28    * erzeugt eine Fabrik als Singleton mit der übergebenen Datenquelle
29    @param ds Datenquelle für die Fabrik
30    */
31   private LocationEventResetterFactory(DataSource ds) {
32     datasource = ds;
33   // end of class
34   
35   /**
36    
37    @param ds Datenquelle zum Weiterreichen an die Logk-Instanzen
38    @return FabrikObjekt
39    */
40   public static LocationEventResetterFactory getInstance(DataSource ds) {
41     if (instance == nullinstance = new LocationEventResetterFactory(ds);
42 
43     // da später mal *wirklich* verschiedene Datenquellen benutzt werden können
44     // und nur derzeit nur mit STRUTS gearbeitet wird, muss jede Fabrik als 
45     // flexiblen Teil die Datenquelle haben!
46     // Da dieser Teil immer der Methode übergeben wird, 
47     // kann er hier angepasst werden, statt mit einer
48     // <code>setDataSource()</code>-Methode.
49     datasource = ds;
50     
51     return instance;
52   }  // end of getInstance
53 
54   /**
55    * gibt einen <code>LocationEventResetter</code> zurück
56    @see de.fub.tip.datenbank.factory.LogicFactory#getLogicObject()
57    */
58   public LogicObject getLogicObject() {
59     return new LocationEventResetter(datasource);
60   // end of getLogicObject
61 // end of class