2 * Copyright © 2018 Red Hat, Inc. and others.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.mdsal.binding.util;
10 import org.opendaylight.mdsal.binding.api.WriteTransaction;
11 import org.opendaylight.mdsal.binding.spi.ForwardingWriteTransaction;
12 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
13 import org.opendaylight.yangtools.yang.binding.DataObject;
14 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
17 * Write transaction which keeps track of writes.
19 class WriteTrackingWriteTransaction extends ForwardingWriteTransaction implements WriteTrackingTransaction {
20 // This is only ever read *after* changes to the transaction are complete
21 private boolean written;
23 WriteTrackingWriteTransaction(WriteTransaction delegate) {
28 public <T extends DataObject> void put(LogicalDatastoreType store, InstanceIdentifier<T> path, T data) {
29 super.put(store, path, data);
34 public <T extends DataObject> void put(LogicalDatastoreType store, InstanceIdentifier<T> path, T data,
35 boolean createMissingParents) {
36 super.put(store, path, data, createMissingParents);
41 public <T extends DataObject> void merge(LogicalDatastoreType store, InstanceIdentifier<T> path, T data) {
42 super.merge(store, path, data);
47 public <T extends DataObject> void merge(LogicalDatastoreType store, InstanceIdentifier<T> path, T data,
48 boolean createMissingParents) {
49 super.merge(store, path, data, createMissingParents);
54 public void delete(LogicalDatastoreType store, InstanceIdentifier<?> path) {
55 super.delete(store, path);
60 public boolean isWritten() {