import mir.generator.Generator;
import mir.generator.WriterEngine;
-
+import mir.entity.adapter.*;
public class MirCachingLocalizerDecorator implements MirLocalizer {
private MirLocalizer localizer;
public MirDataModelLocalizer dataModel() throws MirLocalizerFailure, MirLocalizerExc {
if (dataModelLocalizer==null) {
- dataModelLocalizer = localizer.dataModel();
+ dataModelLocalizer = new MirCachingDatamodelLocalizer(localizer.dataModel());
}
return dataModelLocalizer;
return adminInterfaceLocalizer;
};
+ private static class MirCachingDatamodelLocalizer implements MirDataModelLocalizer {
+ private MirDataModelLocalizer master;
+ private EntityAdapterModel adapterModel;
+
+ public MirCachingDatamodelLocalizer(MirDataModelLocalizer aMaster) {
+ master = aMaster;
+ adapterModel = null;
+ }
+
+ public EntityAdapterModel adapterModel() throws MirLocalizerExc, MirLocalizerFailure {
+ if (adapterModel==null) {
+ adapterModel = master.adapterModel();
+ }
+
+ return adapterModel;
+ };
+
+ }
+
private static class MirCachingGeneratorLocalizer implements MirGeneratorLocalizer {
private MirGeneratorLocalizer master;
private WriterEngine writerEngine;