*/\r
package org.opendaylight.controller.sal.binding.generator.api;\r
\r
-import java.util.List;\r
-\r
-import org.opendaylight.controller.sal.binding.model.api.GeneratedType;\r
+import org.opendaylight.controller.sal.binding.model.api.Type;\r
import org.opendaylight.controller.yang.model.api.Module;\r
+import org.opendaylight.controller.yang.model.api.SchemaContext;\r
+\r
+import java.util.List;\r
+import java.util.Set;\r
\r
+/**\r
+ *\r
+ *\r
+ */\r
public interface BindingGenerator {\r
\r
- public List<GeneratedType> generateTypes(final Module module);\r
+ /**\r
+ * Generate Types from whole Schema Context.\r
+ * <br>\r
+ * The method will return List of All Generated Types that could be\r
+ * Generated from Schema Context.\r
+ *\r
+ *\r
+ * @param context Schema Context\r
+ * @return List of Generated Types\r
+ *\r
+ * @see SchemaContext\r
+ */\r
+ public List<Type> generateTypes(final SchemaContext context);\r
\r
+ /**\r
+ * Generate Types from Schema Context restricted by sub set of specified\r
+ * Modules. The Schema Context MUST contain all of the sub modules\r
+ * otherwise the there is no guarantee that result List of Generated\r
+ * Types will contain correct Generated Types.\r
+ *\r
+ * @param context Schema Context\r
+ * @param modules Sub Set of Modules\r
+ * @return List of Generated Types restricted by sub set of Modules\r
+ *\r
+ * @see Module\r
+ * @see SchemaContext\r
+ *\r
+ */\r
+ public List<Type> generateTypes(final SchemaContext context,\r
+ final Set<Module> modules);\r
}\r