Yang-maven-plugin refactored + fixed bugs.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / maven-yang / src / main / java / org / opendaylight / controller / yang2sources / spi / CodeGenerator.java
index 534c37de10399447b95a06962ce99e88d0303a96..df33d4c5919e81070c8947d2d30b01182fd85a3a 100644 (file)
@@ -8,8 +8,13 @@
 package org.opendaylight.controller.yang2sources.spi;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
 
+import org.apache.maven.plugin.logging.Log;
+import org.opendaylight.controller.yang.model.api.Module;
 import org.opendaylight.controller.yang.model.api.SchemaContext;
 
 /**
@@ -20,13 +25,24 @@ public interface CodeGenerator {
 
     /**
      * Generate sources from provided {@link SchemaContext}
-     * 
+     *
      * @param context
      *            parsed from yang files
      * @param outputBaseDir
      *            expected output directory for generated sources configured by
      *            user
+     * @param currentModules
+     *            yang modules parsed from yangFilesRootDir
+     * @param log
+     *            maven logger
      * @return collection of files that were generated from schema context
+     * @throws IOException
      */
-    Collection<File> generateSources(SchemaContext context, File outputBaseDir);
+    Collection<File> generateSources(SchemaContext context, File outputBaseDir,
+            Set<Module> currentModules, File projectBaseDir)
+            throws IOException;
+
+    void setLog(Log log);
+
+    void setAdditionalConfig(Map<String, String> additionalConfiguration);
 }