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;
10 private MirAdminInterfaceLocalizer adminInterfaceLocalizer;
12 public MirCachingLocalizerDecorator(MirLocalizer aLocalizer) {
13 localizer = aLocalizer;
16 public MirProducerLocalizer producers() throws MirLocalizerFailure, MirLocalizerException {
17 if (producerLocalizer==null) {
18 producerLocalizer = localizer.producers();
21 return producerLocalizer;
24 public MirGeneratorLocalizer generators() throws MirLocalizerFailure, MirLocalizerException {
25 if (generatorLocalizer==null) {
26 generatorLocalizer = localizer.generators();
29 return generatorLocalizer;
32 public MirOpenPostingLocalizer openPostings() throws MirLocalizerFailure, MirLocalizerException {
33 if (openPostingsLocalizer==null) {
34 openPostingsLocalizer = localizer.openPostings();
37 return openPostingsLocalizer;
40 public MirProducerAssistantLocalizer producerAssistant() throws MirLocalizerFailure, MirLocalizerException {
41 if (producerAssistantLocalizer==null) {
42 producerAssistantLocalizer = localizer.producerAssistant();
45 return producerAssistantLocalizer;
48 public MirDataModelLocalizer dataModel() throws MirLocalizerFailure, MirLocalizerException {
49 if (dataModelLocalizer==null) {
50 dataModelLocalizer = localizer.dataModel();
53 return dataModelLocalizer;
56 public MirAdminInterfaceLocalizer adminInterface() throws MirLocalizerFailure, MirLocalizerException {
57 if (adminInterfaceLocalizer==null) {
58 adminInterfaceLocalizer = localizer.adminInterface();
61 return adminInterfaceLocalizer;