Bug 7038 - Rework 'type decimal64' lookup
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / spi / meta / StatementSupport.java
index 4ccffedb2c18a1ad7c1398e98bf065fcb675d78c..9eeeefc80ce45a21415b886fd7d8c9c144e67922 100644 (file)
@@ -9,6 +9,7 @@
 package org.opendaylight.yangtools.yang.parser.spi.meta;
 
 import java.util.Optional;
+import javax.annotation.Nullable;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
@@ -161,4 +162,21 @@ public interface StatementSupport<A, D extends DeclaredStatement<A>, E extends E
      * @throws SourceException when an inconsistency is detected.
      */
     void onFullDefinitionDeclared(StmtContext.Mutable<A, D, E> stmt);
+
+    /**
+     * Returns true if this support has argument specific supports.
+     */
+    boolean hasArgumentSpecificSupports();
+
+    /**
+     * If this support has argument specific supports, the method returns
+     * support specific for given argument (e.g. type statement support need to
+     * be specialized based on its argument), otherwise returns null.
+     *
+     * @param argument
+     *            argument of statement
+     * @return statement support specific for supplied argument or null
+     */
+    @Nullable
+    StatementSupport<?, ?, ?> getSupportSpecificForArgument(String argument);
 }
\ No newline at end of file