Bug 1411: Design Binding specification v2
[mdsal.git] / binding2 / prototype / src / test / java / org / opendaylight / yang / gen / v1 / urn / test / mainyangtest / $YangModuleInfoImpl.java
diff --git a/binding2/prototype/src/test/java/org/opendaylight/yang/gen/v1/urn/test/mainyangtest/$YangModuleInfoImpl.java b/binding2/prototype/src/test/java/org/opendaylight/yang/gen/v1/urn/test/mainyangtest/$YangModuleInfoImpl.java
new file mode 100644 (file)
index 0000000..2735a1b
--- /dev/null
@@ -0,0 +1,79 @@
+package org.opendaylight.yang.gen.v1.urn.test.mainyangtest;
+import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
+import java.util.Set;
+import java.util.Collections;
+import java.io.InputStream;
+import java.io.IOException;
+public final class $YangModuleInfoImpl implements YangModuleInfo {
+
+    private static final YangModuleInfo INSTANCE = new $YangModuleInfoImpl();
+
+    private final String name = "mainYangTest";
+    private final String namespace = "urn:test:mainYangTest";
+    private final String revision = "2016-01-01";
+    private final String resourcePath = "/META-INF/yang/mainYangTest.yang";
+
+    private final Set<YangModuleInfo> importedModules;
+
+    public static YangModuleInfo getInstance() {
+        return INSTANCE;
+    }
+
+    private $YangModuleInfoImpl() {
+        importedModules = Collections.emptySet();
+
+        InputStream stream = $YangModuleInfoImpl.class.getResourceAsStream(resourcePath);
+        if (stream == null) {
+            throw new IllegalStateException("Resource '" + resourcePath + "' is missing");
+        }
+        try {
+            stream.close();
+        } catch (IOException e) {
+        // Resource leak, but there is nothing we can do
+        }
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public String getRevision() {
+        return revision;
+    }
+
+    @Override
+    public String getNamespace() {
+        return namespace;
+    }
+
+    @Override
+    public InputStream getModuleSourceStream() throws IOException {
+        InputStream stream = $YangModuleInfoImpl.class.getResourceAsStream(resourcePath);
+        if (stream == null) {
+            throw new IOException("Resource " + resourcePath + " is missing");
+        }
+        return stream;
+    }
+
+    @Override
+    public Set<YangModuleInfo> getImportedModules() {
+        return importedModules;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder(this.getClass().getCanonicalName());
+        sb.append("[");
+        sb.append("name = " + name);
+        sb.append(", namespace = " + namespace);
+        sb.append(", revision = " + revision);
+        sb.append(", resourcePath = " + resourcePath);
+        sb.append(", imports = " + importedModules);
+        sb.append("]");
+        return sb.toString();
+    }
+
+
+}