/[projects]/android/TrainInfo/src/dk/thoerup/traininfo/provider/ProviderFactory.java
ViewVC logotype

Annotation of /android/TrainInfo/src/dk/thoerup/traininfo/provider/ProviderFactory.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1053 - (hide annotations) (download)
Tue Sep 14 16:00:57 2010 UTC (13 years, 8 months ago) by torben
File size: 2281 byte(s)
First iteration of metro support
1 torben 237 package dk.thoerup.traininfo.provider;
2    
3    
4 torben 1027
5    
6 torben 253 public class ProviderFactory {
7     private static DepartureProvider departureProvider = null;
8     private static StationProvider stationProvider = null;
9 torben 352 private static TimetableProvider timetableProvider = null;
10 torben 1053 private static MetroProvider metroProvider = null;
11 torben 237
12 torben 365 private static final boolean DEBUG = false;
13 torben 363
14 torben 1027 //TODO: this one really doesn't belong here ... and damn it is ugly code
15     public static void purgeOldEntries() {
16     synchronized (ProviderFactory.class) {
17     if (stationProvider != null && stationProvider instanceof XmlStationProvider) {
18     ((XmlStationProvider)stationProvider).stationCache.purgeOldEntries();
19     }
20    
21     if (departureProvider != null && departureProvider instanceof XmlDepartureProvider) {
22     ((XmlDepartureProvider)departureProvider).departureCache.purgeOldEntries();
23     }
24    
25     if (timetableProvider != null && timetableProvider instanceof XmlTimetableProvider) {
26     ((XmlTimetableProvider)timetableProvider).timetableCache.purgeOldEntries();
27     }
28 torben 1053 if (metroProvider != null && metroProvider instanceof XmlMetroProvider) {
29     ((XmlMetroProvider)metroProvider).metroCache.purgeOldEntries();
30     }
31    
32 torben 1027 }
33    
34     }
35    
36 torben 253 public static DepartureProvider getDepartureProvider() {
37     if (departureProvider == null) {
38 torben 363 if (!DEBUG) {
39     departureProvider = new XmlDepartureProvider();
40     } else {
41     departureProvider = new DebugProvider();
42     }
43 torben 237 }
44    
45 torben 253 return departureProvider;
46 torben 237 }
47 torben 253
48     public static StationProvider getStationProvider() {
49     if (stationProvider == null) {
50 torben 363 if (!DEBUG) {
51     stationProvider = new XmlStationProvider();
52     } else {
53     stationProvider = new DebugProvider();
54     }
55 torben 253 }
56    
57     return stationProvider;
58     }
59 torben 352
60     public static TimetableProvider getTimetableProvider() {
61     if (timetableProvider == null) {
62 torben 363 if (!DEBUG) {
63     timetableProvider = new XmlTimetableProvider();
64     } else {
65     timetableProvider = new DebugProvider();
66     }
67 torben 352 }
68     return timetableProvider;
69     }
70 torben 1053
71     public static MetroProvider getMetroProvider() {
72     if (metroProvider == null) {
73     if (!DEBUG) {
74     metroProvider = new XmlMetroProvider();
75     } else {
76     metroProvider = new DebugProvider();
77     }
78     }
79     return metroProvider;
80     }
81 torben 237 }

  ViewVC Help
Powered by ViewVC 1.1.20