import java.util.Optional;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.ContainerLike;
/**
* Structural containers are special in that they appear when implied by child nodes and disappear whenever they are
final class StructuralContainerModificationStrategy extends ContainerModificationStrategy {
private final ContainerNode emptyNode;
- StructuralContainerModificationStrategy(final ContainerSchemaNode schema, final DataTreeConfiguration treeConfig) {
+ StructuralContainerModificationStrategy(final ContainerLike schema, final DataTreeConfiguration treeConfig) {
super(schema, treeConfig);
this.emptyNode = ImmutableNodes.containerNode(schema.getQName());
}
@Override
- Optional<TreeNode> apply(final ModifiedNode modification, final Optional<TreeNode> storeMeta,
+ Optional<? extends TreeNode> apply(final ModifiedNode modification, final Optional<? extends TreeNode> storeMeta,
final Version version) {
return AutomaticLifecycleMixin.apply(super::apply, this::applyWrite, emptyNode, modification, storeMeta,
version);
}
@Override
- protected void checkTouchApplicable(final ModificationPath path, final NodeModification modification,
- final Optional<TreeNode> current, final Version version) throws DataValidationFailedException {
- checkTouchApplicable(path, modification, current, version, emptyNode);
+ TreeNode defaultTreeNode() {
+ return defaultTreeNode(emptyNode);
}
}