import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
/**
- * Specialization of {@link BaseStatementSupport} for Boolean statement arguments.
+ * Specialization of {@link BaseStatementSupport} for statements which carry a Boolean argument and are essentially
+ * context-independent.
*
* @param <D> Declared Statement representation
* @param <E> Effective Statement representation
private final @NonNull D emptyDeclaredTrue;
protected BaseBooleanStatementSupport(final StatementDefinition publicDefinition,
- final E emptyEffectiveFalse, final E emptyEffectiveTrue) {
- super(publicDefinition, CopyPolicy.CONTEXT_INDEPENDENT);
+ final E emptyEffectiveFalse, final E emptyEffectiveTrue, final StatementPolicy<Boolean, D> policy) {
+ super(publicDefinition, policy);
this.emptyEffectiveFalse = requireNonNull(emptyEffectiveFalse);
this.emptyEffectiveTrue = requireNonNull(emptyEffectiveTrue);
emptyDeclaredFalse = requireNonNull(emptyEffectiveFalse.getDeclared());
@Override
protected final D createEmptyDeclared(final StmtContext<Boolean, D, ?> ctx) {
- return ctx.coerceStatementArgument() ? emptyDeclaredTrue : emptyDeclaredFalse;
+ return ctx.getArgument() ? emptyDeclaredTrue : emptyDeclaredFalse;
}
@Override