2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
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
9 package org.opendaylight.openflowplugin.api.openflow.device;
11 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
12 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
13 import org.opendaylight.yangtools.yang.binding.DataObject;
14 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
17 * Handles operations with transactions
19 public interface TxFacade {
22 * Method creates put operation using provided data in underlying transaction chain.
24 <T extends DataObject> void writeToTransaction(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
25 final T data) throws Exception;
28 * Method creates delete operation for provided path in underlying transaction chain.
30 <T extends DataObject> void addDeleteToTxChain(final LogicalDatastoreType store, final InstanceIdentifier<T> path) throws Exception;
33 * Method submits Transaction to DataStore.
34 * @return transaction is submitted successfully
36 boolean submitTransaction();
39 * Method exposes transaction created for device
40 * represented by this context. This read only transaction has a fresh dataStore snapshot.
41 * There is a possibility to get different data set from DataStore
42 * as write transaction in this context.
43 * @return readOnlyTransaction - Don't forget to close it after finish reading
45 ReadOnlyTransaction getReadTransaction();