Bug 4662: Introduce a SemanticVersion concept - pre-linkage phase
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / spi / source / QNameToStatementDefinition.java
index 58e7da9b3d4b6da27ca36ab80c133242363e9ab5..e443d326064b33d0528881d93d3985b7bf60b049 100644 (file)
@@ -7,6 +7,9 @@
  */
 package org.opendaylight.yangtools.yang.parser.spi.source;
 
+import java.net.URI;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
@@ -18,4 +21,25 @@ import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
  */
 public interface QNameToStatementDefinition extends IdentifierNamespace<QName, StatementDefinition> {
 
+    /**
+     * Returns StatementDefinition with specified QName.
+     *
+     * @param identifier
+     *            QName of requested statement
+     * @return StatementDefinition
+     */
+    @Nullable
+    StatementDefinition get(@Nonnull QName identifier);
+
+    /**
+     * Returns StatementDefinition with specified namespace and localName.
+     *
+     * @param namespace
+     *            namespace of requested statement
+     * @param localName
+     *            localName of requested statement
+     * @return StatementDefinition
+     */
+    @Nullable
+    StatementDefinition getByNamespaceAndLocalName(@Nonnull final URI namespace, @Nonnull final String localName);
 }