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 == null) instance = 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
|