import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
+import org.opendaylight.yangtools.yang.data.api.schema.DistinctNodeContainer;
import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapEntryNodeBuilder;
-import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
-import org.opendaylight.yangtools.yang.data.spi.tree.Version;
import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration;
+import org.opendaylight.yangtools.yang.data.tree.impl.node.TreeNode;
+import org.opendaylight.yangtools.yang.data.tree.impl.node.Version;
import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-class MapEntryModificationStrategy extends DataNodeContainerModificationStrategy<ListSchemaNode> {
+sealed class MapEntryModificationStrategy extends DataNodeContainerModificationStrategy<ListSchemaNode> {
private static final class EnforcingMandatory extends MapEntryModificationStrategy {
private final MandatoryLeafEnforcer enforcer;
}
@Override
- void mandatoryVerifyValueChildren(final NormalizedNode writtenValue) {
+ void mandatoryVerifyValueChildren(final DistinctNodeContainer<?, ?> writtenValue) {
enforcer.enforceOnData(writtenValue);
}
static @NonNull MapEntryModificationStrategy of(final ListSchemaNode schema,
final DataTreeConfiguration treeConfig) {
- final Optional<MandatoryLeafEnforcer> enforcer = MandatoryLeafEnforcer.forContainer(schema, treeConfig);
- return enforcer.isPresent() ? new EnforcingMandatory(schema, treeConfig, enforcer.get())
- : new MapEntryModificationStrategy(schema, treeConfig);
+ final var enforcer = MandatoryLeafEnforcer.forContainer(schema, treeConfig);
+ return enforcer != null ? new EnforcingMandatory(schema, treeConfig, enforcer)
+ : new MapEntryModificationStrategy(schema, treeConfig);
}
}