/* * Copyright © 2018 Red Hat, Inc. and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.mdsal.binding.util; import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; /** * Implementation of {@link TypedWriteTransaction}. * * @param The datastore which the transaction targets. * @param WriteTransaction type */ class TypedWriteTransactionImpl extends TypedTransaction implements TypedWriteTransaction { TypedWriteTransactionImpl(final Class datastoreType, final X realTx) { super(datastoreType, realTx); } @Override public final void put(final InstanceIdentifier path, final T data) { delegate().put(getDatastoreType(), path, data); postOperation(); } @Override public final void mergeParentStructurePut(final InstanceIdentifier path, final T data) { delegate().mergeParentStructurePut(getDatastoreType(), path, data); postOperation(); } @Override public final void merge(final InstanceIdentifier path, final T data) { delegate().merge(getDatastoreType(), path, data); postOperation(); } @Override public final void mergeParentStructureMerge(final InstanceIdentifier path, final T data) { delegate().mergeParentStructureMerge(getDatastoreType(), path, data); postOperation(); } @Override public final void delete(final InstanceIdentifier path) { delegate().delete(getDatastoreType(), path); postOperation(); } void postOperation() { // Defaults to no-op } }