Migrate input/output statements
[yangtools.git] / yang / yang-model-api / src / main / java / org / opendaylight / yangtools / yang / model / api / stmt / UnknownStatement.java
index e057cf7aff377c91cb2163245fff85ec947e5f7f..d4d326d8df4480a12ed9b1b06f3cb11368aabe19 100644 (file)
@@ -7,11 +7,18 @@
  */
 package org.opendaylight.yangtools.yang.model.api.stmt;
 
-import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 
-public interface UnknownStatement<S> extends DeclaredStatement<S> {
-
-    @Nullable S getArgument();
-
+/**
+ * A statement not covered by the base metamodel, e.g. it is not expressed directly in terms of concrete statement
+ * interfaces in this package. This interface is meant to be specialized by external semantic plugins, such that they
+ * are properly anchored in the metamodel.
+ *
+ * @param <A> Argument type ({@link Void} if statement does not have argument.)
+ */
+public interface UnknownStatement<A> extends DeclaredStatement<A> {
+    default @Nullable A getArgument() {
+        return argument();
+    }
 }