*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.anyxml;
-import com.google.common.collect.ImmutableSet;
-import java.util.Collection;
import java.util.Objects;
import java.util.Optional;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.MustDefinition;
import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatement;
-import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveDataSchemaNode;
+import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveMustConstraintAwareDataSchemaNode;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
/**
*/
// FIXME: 4.0.0: hide this class and make it final
@Deprecated
-public class AnyxmlEffectiveStatementImpl extends AbstractEffectiveDataSchemaNode<AnyxmlStatement>
+public class AnyxmlEffectiveStatementImpl extends AbstractEffectiveMustConstraintAwareDataSchemaNode<AnyxmlStatement>
implements AnyxmlEffectiveStatement, AnyXmlSchemaNode, DerivableSchemaNode {
- private final ImmutableSet<MustDefinition> mustConstraints;
private final AnyXmlSchemaNode original;
private final boolean mandatory;
this.original = (AnyXmlSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
mandatory = findFirstEffectiveSubstatementArgument(MandatoryEffectiveStatement.class).orElse(Boolean.FALSE)
.booleanValue();
- mustConstraints = ImmutableSet.copyOf(allSubstatementsOfType(MustDefinition.class));
}
@Override
return mandatory;
}
- @Override
- public Collection<MustDefinition> getMustConstraints() {
- return mustConstraints;
- }
-
@Override
public Optional<AnyXmlSchemaNode> getOriginal() {
return Optional.ofNullable(original);