static void copyFromSourceToTarget(final StatementContextBase<?, ?, ?> sourceCtx,
final StatementContextBase<?, ?, ?> targetCtx) {
- final CopyType typeOfCopy = UsesStatement.class.equals(sourceCtx.coerceParentContext().getPublicDefinition()
- .getDeclaredRepresentationClass()) ? CopyType.ADDED_BY_USES_AUGMENTATION
- : CopyType.ADDED_BY_AUGMENTATION;
+ final CopyType typeOfCopy = sourceCtx.coerceParentContext().producesDeclared(UsesStatement.class)
+ ? CopyType.ADDED_BY_USES_AUGMENTATION : CopyType.ADDED_BY_AUGMENTATION;
/*
* Since Yang 1.1, if an augmentation is made conditional with a
* "when" statement, it is allowed to add mandatory nodes.
final StatementContextBase<?, ?, ?> targetCtx, final CopyType typeOfCopy,
final boolean skipCheckOfMandatoryNodes) {
- if (WhenStatement.class.equals(sourceCtx.getPublicDefinition().getDeclaredRepresentationClass())) {
+ if (sourceCtx.producesDeclared(WhenStatement.class)) {
return;
}
}
// Data definition statements must not collide on their namespace
- if (DataDefinitionStatement.class.isAssignableFrom(
- sourceCtx.getPublicDefinition().getDeclaredRepresentationClass())) {
+ if (sourceCtx.producesDeclared(DataDefinitionStatement.class)) {
for (final StmtContext<?, ?, ?> subStatement : targetCtx.allSubstatements()) {
- if (DataDefinitionStatement.class.isAssignableFrom(
- subStatement.getPublicDefinition().getDeclaredRepresentationClass())) {
-
+ if (subStatement.producesDeclared(DataDefinitionStatement.class)) {
InferenceException.throwIf(
Objects.equals(sourceCtx.getStatementArgument(), subStatement.getStatementArgument()),
sourceCtx.getStatementSourceReference(),
public static <A, D extends DeclaredStatement<A>> A firstAttributeOf(
final Iterable<? extends StmtContext<?, ?, ?>> contexts, final Class<D> declaredType) {
for (final StmtContext<?, ?, ?> ctx : contexts) {
- if (producesDeclared(ctx, declaredType)) {
+ if (ctx.producesDeclared(declaredType)) {
return (A) ctx.getStatementArgument();
}
}
@SuppressWarnings("unchecked")
public static <A, D extends DeclaredStatement<A>> A firstAttributeOf(final StmtContext<?, ?, ?> ctx,
final Class<D> declaredType) {
- return producesDeclared(ctx, declaredType) ? (A) ctx.getStatementArgument() : null;
+ return ctx.producesDeclared(declaredType) ? (A) ctx.getStatementArgument() : null;
}
public static <A, D extends DeclaredStatement<A>> A firstSubstatementAttributeOf(
public static <A, D extends DeclaredStatement<A>> StmtContext<A, ?, ?> findFirstDeclaredSubstatement(
final StmtContext<?, ?, ?> stmtContext, final Class<D> declaredType) {
for (final StmtContext<?, ?, ?> subStmtContext : stmtContext.declaredSubstatements()) {
- if (producesDeclared(subStmtContext, declaredType)) {
+ if (subStmtContext.producesDeclared(declaredType)) {
return (StmtContext<A, ?, ?>) subStmtContext;
}
}
final StmtContext<?, ?, ?> stmtContext, final Class<D> declaredType) {
final ImmutableList.Builder<StmtContext<A, D, ?>> listBuilder = ImmutableList.builder();
for (final StmtContext<?, ?, ?> subStmtContext : stmtContext.declaredSubstatements()) {
- if (producesDeclared(subStmtContext, declaredType)) {
+ if (subStmtContext.producesDeclared(declaredType)) {
listBuilder.add((StmtContext<A, D, ?>) subStmtContext);
}
}
final StmtContext<?, ?, ?> stmtContext, final Class<D> type) {
final ImmutableList.Builder<StmtContext<A, D, ?>> listBuilder = ImmutableList.builder();
for (final StmtContext<?, ?, ?> subStmtContext : stmtContext.effectiveSubstatements()) {
- if (producesDeclared(subStmtContext, type)) {
+ if (subStmtContext.producesDeclared(type)) {
listBuilder.add((StmtContext<A, D, ?>) subStmtContext);
}
}
public static <A, D extends DeclaredStatement<A>> StmtContext<A, ?, ?> findFirstEffectiveSubstatement(
final StmtContext<?, ?, ?> stmtContext, final Class<D> declaredType) {
for (final StmtContext<?, ?, ?> subStmtContext : stmtContext.effectiveSubstatements()) {
- if (producesDeclared(subStmtContext, declaredType)) {
+ if (subStmtContext.producesDeclared(declaredType)) {
return (StmtContext<A, ?, ?>) subStmtContext;
}
}
return null;
}
+ @Deprecated
public static boolean producesDeclared(final StmtContext<?, ?, ?> ctx,
final Class<? extends DeclaredStatement<?>> type) {
return type.isAssignableFrom(ctx.getPublicDefinition().getDeclaredRepresentationClass());
* if supplied statement context is null
*/
public static boolean isUnrecognizedStatement(final StmtContext<?, ?, ?> stmtCtx) {
- return UnrecognizedStatement.class
- .isAssignableFrom(stmtCtx.getPublicDefinition().getDeclaredRepresentationClass());
+ return stmtCtx.producesDeclared(UnrecognizedStatement.class);
}
public static boolean checkFeatureSupport(final StmtContext<?, ?, ?> stmtContext,
final StmtContext<?, ?, ?> rootCtx = ctx.getRoot();
final QNameModule qnameModule;
- if (producesDeclared(rootCtx, ModuleStatement.class)) {
+ if (rootCtx.producesDeclared(ModuleStatement.class)) {
qnameModule = rootCtx.getFromNamespace(ModuleCtxToModuleQName.class, rootCtx);
- } else if (producesDeclared(rootCtx, SubmoduleStatement.class)) {
+ } else if (rootCtx.producesDeclared(SubmoduleStatement.class)) {
final String belongsToModuleName = firstAttributeOf(rootCtx.declaredSubstatements(),
BelongsToStatement.class);
qnameModule = rootCtx.getFromNamespace(ModuleNameToModuleQName.class, belongsToModuleName);
return qnameModule;
}
- if (producesDeclared(ctx.getRoot(), SubmoduleStatement.class)) {
- final String moduleName = ctx.getRoot().getFromNamespace(BelongsToPrefixToModuleName.class, prefix);
+ final StmtContext<?, ?, ?> root = ctx.getRoot();
+ if (root.producesDeclared(SubmoduleStatement.class)) {
+ final String moduleName = root.getFromNamespace(BelongsToPrefixToModuleName.class, prefix);
return ctx.getFromNamespace(ModuleNameToModuleQName.class, moduleName);
}
public static Optional<Revision> getLatestRevision(final Iterable<? extends StmtContext<?, ?, ?>> subStmts) {
Revision revision = null;
for (final StmtContext<?, ?, ?> subStmt : subStmts) {
- if (subStmt.getPublicDefinition().getDeclaredRepresentationClass().isAssignableFrom(
- RevisionStatement.class)) {
+ if (subStmt.producesDeclared(RevisionStatement.class)) {
if (revision == null && subStmt.getStatementArgument() != null) {
revision = (Revision) subStmt.getStatementArgument();
} else {