1 package mircoders.localizer;
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;
11 public MirCachingLocalizerDecorator(MirLocalizer aLocalizer) {
12 localizer = aLocalizer;
15 public MirProducerLocalizer producers() throws MirLocalizerFailure, MirLocalizerException {
16 if (producerLocalizer==null) {
17 producerLocalizer = localizer.producers();
20 return producerLocalizer;
23 public MirGeneratorLocalizer generators() throws MirLocalizerFailure, MirLocalizerException {
24 if (generatorLocalizer==null) {
25 generatorLocalizer = localizer.generators();
28 return generatorLocalizer;
31 public MirOpenPostingLocalizer openPostings() throws MirLocalizerFailure, MirLocalizerException {
32 if (openPostingsLocalizer==null) {
33 openPostingsLocalizer = localizer.openPostings();
36 return openPostingsLocalizer;
39 public MirProducerAssistantLocalizer producerAssistant() throws MirLocalizerFailure, MirLocalizerException {
40 if (producerAssistantLocalizer==null) {
41 producerAssistantLocalizer = localizer.producerAssistant();
44 return producerAssistantLocalizer;
47 public MirDataModelLocalizer dataModel() throws MirLocalizerFailure, MirLocalizerException {
48 if (dataModelLocalizer==null) {
49 dataModelLocalizer = localizer.dataModel();
52 return dataModelLocalizer;