Centralize must contraint definitions
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / leaf_list / LeafListEffectiveStatementImpl.java
index e501858dc84daf1b43ffba37edb4e8bb9ec5e201..b4fdaf007998d162adc4d550f54f056f19d1b2e5 100644 (file)
@@ -16,7 +16,6 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.MustDefinition;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.DefaultEffectiveStatement;
@@ -30,7 +29,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnitsEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.type.ConcreteTypeBuilder;
 import org.opendaylight.yangtools.yang.model.util.type.ConcreteTypes;
-import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveDataSchemaNode;
+import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveMustConstraintAwareDataSchemaNode;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStmtUtils;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
@@ -42,7 +41,8 @@ import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
  */
 // FIXME: 4.0.0: hide this class
 @Deprecated
-public final class LeafListEffectiveStatementImpl extends AbstractEffectiveDataSchemaNode<LeafListStatement>
+public final class LeafListEffectiveStatementImpl
+        extends AbstractEffectiveMustConstraintAwareDataSchemaNode<LeafListStatement>
         implements LeafListEffectiveStatement, LeafListSchemaNode, DerivableSchemaNode {
 
     private static final String ORDER_BY_USER_KEYWORD = "user";
@@ -51,7 +51,6 @@ public final class LeafListEffectiveStatementImpl extends AbstractEffectiveDataS
     private final LeafListSchemaNode original;
     private final boolean userOrdered;
     private final @NonNull ImmutableSet<String> defaultValues;
-    private final ImmutableSet<MustDefinition> mustConstraints;
     private final ElementCountConstraint elementCountConstraint;
 
     LeafListEffectiveStatementImpl(
@@ -98,7 +97,6 @@ public final class LeafListEffectiveStatementImpl extends AbstractEffectiveDataS
         type = builder.build();
         userOrdered = isUserOrdered;
         elementCountConstraint = EffectiveStmtUtils.createElementCountConstraint(this).orElse(null);
-        mustConstraints = ImmutableSet.copyOf(allSubstatementsOfType(MustDefinition.class));
     }
 
     @Override
@@ -126,11 +124,6 @@ public final class LeafListEffectiveStatementImpl extends AbstractEffectiveDataS
         return Optional.ofNullable(elementCountConstraint);
     }
 
-    @Override
-    public Collection<MustDefinition> getMustConstraints() {
-        return mustConstraints;
-    }
-
     @Override
     public int hashCode() {
         final int prime = 31;