2 * Copyright (c) 2013 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.controller.sal.binding.api.data;
10 import org.opendaylight.controller.md.sal.common.api.data.DataReader;
11 import org.opendaylight.controller.sal.binding.api.BindingAwareService;
12 import org.opendaylight.yangtools.concepts.ListenerRegistration;
13 import org.opendaylight.yangtools.yang.binding.DataObject;
14 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
17 * DataBrokerService provides unified access to the data stores available in the
21 * @see DataProviderService
22 * @deprecated Replaced by newer better documented version {@link org.opendaylight.controller.md.sal.binding.api.DataBroker}
25 public interface DataBrokerService extends BindingAwareService,
26 DataReader<InstanceIdentifier<? extends DataObject>, DataObject> {
28 * Creates a data modification transaction.
30 * @return new blank data modification transaction.
31 * @deprecated Replaced by more specific transaction types. Please use
32 * {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newReadOnlyTransaction(),
33 * {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newReadWriteTransaction()
35 * {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newWriteOnlyTransaction().
38 DataModificationTransaction beginTransaction();
41 * Reads data subtree from configurational store.
42 * (Store which is populated by consumer, which is usually used to
43 * inject state into providers. E.g. Flow configuration)
46 * @deprecated Please use {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newReadOnlyTransaction()}
51 DataObject readConfigurationData(InstanceIdentifier<? extends DataObject> path);
54 * Reads data subtree from operational store.
55 * (Store which is populated by providers, which is usually used to
56 * capture state of providers. E.g. Topology)
58 * @deprecated Please use {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newReadOnlyTransaction()}
62 DataObject readOperationalData(InstanceIdentifier<? extends DataObject> path);
65 * Register a data change listener for particular subtree.
67 * Callback is invoked each time data in subtree changes.
69 * @deprecated Please use {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#registerDataChangeListener(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType, InstanceIdentifier, org.opendaylight.controller.md.sal.binding.api.DataChangeListener, org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope)}
70 * which provides more fine-grained registration options.
73 ListenerRegistration<DataChangeListener> registerDataChangeListener(
74 InstanceIdentifier<? extends DataObject> path, DataChangeListener listener);