2 * Copyright (c) 2014 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
8 package org.opendaylight.mdsal.binding.api;
10 import org.opendaylight.mdsal.common.api.AsyncDataBroker;
11 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
12 import org.opendaylight.mdsal.common.api.TransactionChainFactory;
13 import org.opendaylight.mdsal.common.api.TransactionChainListener;
15 import org.opendaylight.yangtools.concepts.ListenerRegistration;
16 import org.opendaylight.yangtools.yang.binding.DataObject;
17 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
20 * Provides access to a conceptual data tree store and also provides the ability to
21 * subscribe for changes to data under a given branch of the tree.
23 * For more information on usage, please see the documentation in {@link AsyncDataBroker}.
25 * @see AsyncDataBroker
26 * @see TransactionChainFactory
28 public interface DataBroker extends AsyncDataBroker<InstanceIdentifier<?>, DataObject, DataChangeListener>,
29 TransactionChainFactory<InstanceIdentifier<?>, DataObject>, TransactionFactory, BindingService, DataTreeChangeService {
34 ReadOnlyTransaction newReadOnlyTransaction();
40 ReadWriteTransaction newReadWriteTransaction();
46 WriteTransaction newWriteOnlyTransaction();
52 ListenerRegistration<DataChangeListener> registerDataChangeListener(LogicalDatastoreType store,
53 InstanceIdentifier<?> path, DataChangeListener listener, DataChangeScope triggeringScope);
59 BindingTransactionChain createTransactionChain(TransactionChainListener listener);