merge of localization branch into HEAD. mh and zap
[mir.git] / source / mircoders / localizer / MirCachingLocalizerDecorator.java
1 package mircoders.localizer;
2
3 public class MirCachingLocalizerDecorator implements MirLocalizer {
4   private MirLocalizer localizer;
5   private MirProducerLocalizer producerLocalizer;
6   private MirGeneratorLocalizer generatorLocalizer;
7   private MirOpenPostingLocalizer openPostingsLocalizer;
8   private MirProducerAssistantLocalizer producerAssistantLocalizer;
9   private MirDataModelLocalizer dataModelLocalizer;
10   private MirAdminInterfaceLocalizer adminInterfaceLocalizer;
11
12   public MirCachingLocalizerDecorator(MirLocalizer aLocalizer) {
13     localizer = aLocalizer;
14   }
15
16   public MirProducerLocalizer producers() throws MirLocalizerFailure, MirLocalizerException {
17     if (producerLocalizer==null) {
18       producerLocalizer = localizer.producers();
19     }
20
21     return producerLocalizer;
22   }
23
24   public MirGeneratorLocalizer generators() throws MirLocalizerFailure, MirLocalizerException {
25     if (generatorLocalizer==null) {
26       generatorLocalizer = localizer.generators();
27     }
28
29     return generatorLocalizer;
30   }
31
32   public MirOpenPostingLocalizer openPostings() throws MirLocalizerFailure, MirLocalizerException {
33     if (openPostingsLocalizer==null) {
34       openPostingsLocalizer = localizer.openPostings();
35     }
36
37     return openPostingsLocalizer;
38   }
39
40   public MirProducerAssistantLocalizer producerAssistant() throws MirLocalizerFailure, MirLocalizerException {
41     if (producerAssistantLocalizer==null) {
42       producerAssistantLocalizer = localizer.producerAssistant();
43     }
44
45     return producerAssistantLocalizer;
46   }
47
48   public MirDataModelLocalizer dataModel() throws MirLocalizerFailure, MirLocalizerException {
49     if (dataModelLocalizer==null) {
50       dataModelLocalizer = localizer.dataModel();
51     }
52
53     return dataModelLocalizer;
54   }
55
56   public MirAdminInterfaceLocalizer adminInterface() throws MirLocalizerFailure, MirLocalizerException {
57     if (adminInterfaceLocalizer==null) {
58       adminInterfaceLocalizer = localizer.adminInterface();
59     }
60
61     return adminInterfaceLocalizer;
62   };
63
64
65 }