StatementDefinition getPublicDefinition();
/**
- * @return context of parent of statement
+ * Return the parent statement context, or null if this is the root statement.
+ *
+ * @return context of parent of statement, or null if this is the root statement.
*/
@Nullable
StmtContext<?, ?, ?> getParentContext();
StmtContext<?, ?, ?> getOriginalCtx();
- boolean isRootContext();
-
int getOrder();
ModelProcessingPhase getCompletedPhase();
public static boolean isInExtensionBody(final StmtContext<?, ?, ?> stmtCtx) {
StmtContext<?, ?, ?> current = stmtCtx;
- while (!current.getParentContext().isRootContext()) {
+ while (current.getParentContext().getParentContext() != null) {
current = current.getParentContext();
if (producesDeclared(current, UnknownStatementImpl.class)) {
return true;
return Optional.of(SchemaPath.ROOT);
}
- /**
- * @return true
- */
- @Override
- public boolean isRootContext() {
- return true;
- }
-
@Override
public boolean isConfiguration() {
return true;
private SubstatementContext(final SubstatementContext<A, D, E> original, final QNameModule newQNameModule,
final StatementContextBase<?, ?, ?> newParent, final CopyType typeOfCopy) {
super(original);
- this.parent = newParent;
+ this.parent = Preconditions.checkNotNull(newParent);
if (newQNameModule != null) {
final A originalArg = original.argument;
return Optional.fromNullable(local);
}
- @Override
- public boolean isRootContext() {
- return false;
- }
-
@Override
public boolean isConfiguration() {
// if this statement is within a 'yang-data' extension body, config substatements are ignored as if
private static QNameModule getNewQNameModule(final StmtContext<?, ?, ?> targetCtx,
final StmtContext<?, ?, ?> stmtContext) {
- if (targetCtx.isRootContext()) {
+ if (targetCtx.getParentContext() == null) {
return targetCtx.getFromNamespace(ModuleCtxToModuleQName.class, targetCtx);
}
if (targetCtx.getPublicDefinition() == YangStmtMapping.AUGMENT) {
}
@Override
- public String parseArgumentValue(final StmtContext<?, ?, ?> ctx, String value) {
+ public String parseArgumentValue(final StmtContext<?, ?, ?> ctx, final String value) {
return value;
}
EffectiveStatement<String, UnknownStatement<String>>> ctx) {
// as per https://tools.ietf.org/html/rfc8040#section-8,
// yang-data is ignored unless it appears as a top-level statement
- if (!ctx.getParentContext().isRootContext()) {
+ if (ctx.getParentContext().getParentContext() != null) {
ctx.setIsSupportedToBuildEffective(false);
}
}