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 MirProducerToolLocalizer producerToolLocalizer;
10 public MirCachingLocalizerDecorator(MirLocalizer aLocalizer) {
11 localizer = aLocalizer;
14 public MirProducerLocalizer producers() {
15 if (producerLocalizer==null) {
16 producerLocalizer = localizer.producers();
19 return producerLocalizer;
22 public MirGeneratorLocalizer generators() {
23 if (generatorLocalizer==null) {
24 generatorLocalizer = localizer.generators();
27 return generatorLocalizer;
30 public MirOpenPostingLocalizer openPostings() {
31 if (openPostingsLocalizer==null) {
32 openPostingsLocalizer = localizer.openPostings();
35 return openPostingsLocalizer;
38 public MirProducerToolLocalizer producerTool() {
39 if (producerToolLocalizer==null) {
40 producerToolLocalizer = localizer.producerTool();
43 return producerToolLocalizer;