[ONOS-5766] Define YANG compiler API
Change-Id: I93ce8dd4340f51282dcfc2be30838eff6c2f8f81
diff --git a/compiler/api/src/main/java/org/onosproject/yang/YangModel.java b/compiler/api/src/main/java/org/onosproject/yang/YangModel.java
new file mode 100644
index 0000000..cd5f403
--- /dev/null
+++ b/compiler/api/src/main/java/org/onosproject/yang/YangModel.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+ * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
+ * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
+ * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
+ * Vestibulum commodo. Ut rhoncus gravida arcu.
+ */
+
+package org.onosproject.yang;
+
+import java.util.Set;
+
+/**
+ * Representation of a compiled YANG model.
+ */
+public interface YangModel {
+
+ /**
+ * Returns set of YANG module with information.
+ *
+ * @return YANG module info
+ */
+ Set<YangModule> getYangModules();
+
+ /**
+ * Returns set of YANG modules identifier.
+ *
+ * @return YANG module identifier
+ */
+ Set<YangModuleId> getYangModulesId();
+
+ /**
+ * Returns YANG module information corresponding to a given module
+ * identifier.
+ *
+ * @param id module identifier
+ * @return YANG module information
+ */
+ YangModule getYangModule(YangModuleId id);
+}