package org.opendaylight.yangtools.yang.model.api.stmt;
import com.google.common.annotations.Beta;
+import org.opendaylight.yangtools.yang.common.Empty;
+import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+/**
+ * Effective counterpart to {@link UnknownStatement}. This interface exists only for the purposes of providing a bridge
+ * from {@link UnknownSchemaNode} to {@link EffectiveStatement} via {@link UnknownSchemaNode#asEffectiveStatement()}.
+ *
+ * @param <A> Argument type ({@link Empty} if statement does not have argument.)
+ * @param <D> Class representing declared version of this statement.
+ */
@Beta
-// FIXME: evaluate usefulness of this
+// FIXME: remove this interface once UnknownSchemaNode is gone
public interface UnknownEffectiveStatement<A, D extends UnknownStatement<A>> extends EffectiveStatement<A, D> {
}
package org.opendaylight.yangtools.yang.model.api.stmt;
import com.google.common.annotations.Beta;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Common interface for unrecognized unknown statements. An {@link UnrecognizedStatement} is an instance of a statement
*/
@Beta
public interface UnrecognizedStatement extends UnknownStatement<Object> {
-
+ /**
+ * {@inheritDoc}
+ *
+ * <p>
+ * This method can returns
+ * <ul>
+ * <li>{@link String} if the statement has an argument</li>
+ * <li>{@link Empty} if the statement does not have an argument</li>
+ * </ul>
+ */
+ @Override
+ Object argument();
}