-final class CaseEnforcer implements Immutable {
- private final Map<NodeIdentifier, DataSchemaNode> children;
- private final MandatoryLeafEnforcer enforcer;
+class CaseEnforcer implements Immutable {
+ private static final class EnforcingMandatory extends CaseEnforcer {
+ private final MandatoryLeafEnforcer enforcer;
+
+ EnforcingMandatory(final ImmutableMap<NodeIdentifier, DataSchemaNode> children,
+ final ImmutableMap<AugmentationIdentifier, AugmentationSchemaNode> augmentations,
+ final MandatoryLeafEnforcer enforcer) {
+ super(children, augmentations);
+ this.enforcer = requireNonNull(enforcer);
+ }
+
+ @Override
+ void enforceOnTreeNode(final NormalizedNode normalizedNode) {
+ enforcer.enforceOnData(normalizedNode);
+ }
+ }