import com.google.common.annotations.Beta;
import java.util.Optional;
import javax.annotation.Nullable;
+import org.opendaylight.yangtools.yang.common.QNameModule;
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;
StatementDefinition getPublicView();
/**
- *
* Parses textual representation of argument in object representation.
*
* @param ctx
*/
A parseArgumentValue(StmtContext<?, ?, ?> ctx, String value);
+ /**
+ * Adapts the argument value to match a new module.
+ *
+ * @param ctx
+ * Context, which may be used to access source-specific
+ * namespaces required for parsing.
+ * @param targetModule
+ * Target module, may not be null.
+ * @return Adapted argument value. The default implementation returns original value stored in context.
+ */
+ default A adaptArgumentValue(final StmtContext<A, D, E> ctx, final QNameModule targetModule) {
+ return ctx.getStatementArgument();
+ }
+
/**
* Invoked when a statement supported by this instance is added to build context. This allows implementations
* of this interface to start tracking the statement and perform any modifications to the build context hierarchy,