Fixed YANG union type resolving in yang model parser.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-api / src / main / java / org / opendaylight / controller / yang / model / parser / api / YangModelParser.java
index 8faf73e3b476845325cc7642ce48dadf230c3009..1dda17af300635e36bf18aa8925b20faab2be924 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.controller.yang.model.parser.api;
 
+import java.io.InputStream;
 import java.util.Set;
 
 import org.opendaylight.controller.model.api.type.UnknownTypeDefinition;
@@ -14,16 +15,16 @@ import org.opendaylight.controller.yang.model.api.Module;
 import org.opendaylight.controller.yang.model.api.SchemaContext;
 
 /**
- * Yang Model Parser interface is designed for parsing yang models and 
- * convert the information to Data Schema Tree.
- * 
+ * Yang Model Parser interface is designed for parsing yang models and convert
+ * the information to Data Schema Tree.
+ *
  */
 public interface YangModelParser {
 
     /**
      * Parse single Yang model file and return the schema definition of Yang
      * module defined in *.Yang file.
-     * 
+     *
      * @param yangFile
      *            yang file to parse
      * @return the schema definition of Yang module defined in .Yang file.
@@ -32,16 +33,19 @@ public interface YangModelParser {
 
     /**
      * Parse one or more Yang model files and return the definitions of Yang
-     * modules defined in *.Yang files;
-     * <br>
+     * modules defined in *.Yang files; <br>
      * This method SHOULD be used if user need to parse multiple yang models
      * that are referenced either through import or include statements.
-     * 
-     * @param yangFiles yang files to parse
+     *
+     * @param yangFiles
+     *            yang files to parse
      * @return Set of Yang Modules
      */
     public Set<Module> parseYangModels(final String... yangFiles);
 
+    public Set<Module> parseYangModelsFromStreams(
+            final InputStream... yangModelStreams);
+
     /**
      * Creates {@link SchemaContext} from specified Modules. The modules SHOULD
      * not contain any unresolved Schema Nodes or Type Definitions. By
@@ -49,7 +53,7 @@ public interface YangModelParser {
      * should not contain ANY Schema Nodes that contains
      * {@link UnknownTypeDefinition} and all dependencies although via import or
      * include definitions are resolved.
-     * 
+     *
      * @param modules
      *            Set of Yang Modules
      * @return Schema Context instance constructed from whole Set of Modules.