interceptor concept introduced: entity adapter fields referenced in a
[mir.git] / source / mir / producer / reader / DefaultProducerNodeBuilders.java
index 86429c3..aaaf59a 100755 (executable)
@@ -72,6 +72,7 @@ public class DefaultProducerNodeBuilders {
 
   public static void registerBuilders(ProducerNodeBuilderLibrary aBuilderLibrary,
        EntityAdapterModel aModel, Generator.Library aGeneratorLibrary,
+       Generator.Interceptor anInterceptor,
        WriterEngine aWriterEngine, File aSourceBasePath, File aDestinationBasePath) throws ProducerConfigExc {
 
     aBuilderLibrary.registerBuilder("Set", EvaluatedAssignmentProducerNodeBuilder.class);
@@ -101,7 +102,8 @@ public class DefaultProducerNodeBuilders {
     aBuilderLibrary.registerFactory("CreateEntity", new CreateEntityProducerNodeBuilder.factory(aModel));
     aBuilderLibrary.registerFactory("DeleteEntity", new DeleteEntityProducerNodeBuilder.factory(aModel));
 
-    aBuilderLibrary.registerFactory("Generate", new GeneratingProducerNodeBuilder.factory(aGeneratorLibrary, aWriterEngine));
+    aBuilderLibrary.registerFactory("Generate", new GeneratingProducerNodeBuilder.factory(aGeneratorLibrary,
+        aWriterEngine, anInterceptor));
   }
 
   public static abstract class AbstractProducerNodeBuilder implements ProducerNodeBuilder {
@@ -837,12 +839,15 @@ public class DefaultProducerNodeBuilders {
     private String parameters;
     private Generator.Library generatorLibrary;
     private WriterEngine writerEngine;
+    private Generator.Interceptor interceptor;
 
-    public GeneratingProducerNodeBuilder(Generator.Library aGeneratorLibrary, WriterEngine aWriterEngine) {
+    public GeneratingProducerNodeBuilder(Generator.Library aGeneratorLibrary, WriterEngine aWriterEngine,
+                                         Generator.Interceptor anInterceptor) {
       super(GENERATION_SUBNODES);
 
       writerEngine = aWriterEngine;
       generatorLibrary = aGeneratorLibrary;
+      interceptor = anInterceptor;
     }
 
     public void setAttributes(Map anAttributes) throws ProducerConfigExc, XMLParserExc {
@@ -854,20 +859,22 @@ public class DefaultProducerNodeBuilders {
     }
 
     public ProducerNode constructNode() {
-      return new GeneratingProducerNode(generatorLibrary, writerEngine, generator, destination, parameters);
+      return new GeneratingProducerNode(generatorLibrary, writerEngine, interceptor, generator, destination, parameters);
     }
 
     public static class factory implements ProducerNodeBuilderFactory {
       private Generator.Library generatorLibrary;
       private WriterEngine writerEngine;
+      private Generator.Interceptor interceptor;
 
-      public factory(Generator.Library aGeneratorLibrary, WriterEngine aWriterEngine) {
+      public factory(Generator.Library aGeneratorLibrary, WriterEngine aWriterEngine, Generator.Interceptor anInterceptor) {
         writerEngine = aWriterEngine;
         generatorLibrary = aGeneratorLibrary;
+        interceptor = anInterceptor;
       }
 
       public ProducerNodeBuilder makeBuilder() {
-        return new GeneratingProducerNodeBuilder(generatorLibrary, writerEngine);
+        return new GeneratingProducerNodeBuilder(generatorLibrary, writerEngine, interceptor);
       }
     }
   }