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.DataChangePublisher;
11 import org.opendaylight.controller.md.sal.common.api.data.DataModificationTransactionFactory;
12 import org.opendaylight.controller.md.sal.common.api.data.DataReader;
13 import org.opendaylight.controller.sal.binding.api.BindingAwareService;
14 import org.opendaylight.yangtools.concepts.ListenerRegistration;
15 import org.opendaylight.yangtools.yang.binding.DataObject;
16 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
19 * DataBrokerService provides unified access to the data stores available in the
23 * @see DataProviderService
24 * @deprecated Replaced by newer better documented version {@link org.opendaylight.controller.md.sal.binding.api.DataBroker}
27 public interface DataBrokerService extends //
28 BindingAwareService, //
29 DataModificationTransactionFactory<InstanceIdentifier<? extends DataObject>, DataObject>, //
30 DataReader<InstanceIdentifier<? extends DataObject>, DataObject>, //
31 DataChangePublisher<InstanceIdentifier<? extends DataObject>, DataObject, DataChangeListener> {
33 * Creates a data modification transaction.
35 * @return new blank data modification transaction.
36 * @deprecated Replaced by more specific transaction types. Please use
37 * {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newReadOnlyTransaction(),
38 * {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newReadWriteTransaction()
40 * {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newWriteOnlyTransaction().
44 DataModificationTransaction beginTransaction();
47 * Reads data subtree from configurational store.
48 * (Store which is populated by consumer, which is usually used to
49 * inject state into providers. E.g. Flow configuration)
52 * @deprecated Please use {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newReadOnlyTransaction()}
57 public DataObject readConfigurationData(InstanceIdentifier<? extends DataObject> path);
60 * Reads data subtree from operational store.
61 * (Store which is populated by providers, which is usually used to
62 * capture state of providers. E.g. Topology)
64 * @deprecated Please use {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newReadOnlyTransaction()}
68 public DataObject readOperationalData(InstanceIdentifier<? extends DataObject> path);
71 * Register a data change listener for particular subtree.
73 * Callback is invoked each time data in subtree changes.
75 * @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)}
76 * which provides more fine-grained registration options.
80 public ListenerRegistration<DataChangeListener> registerDataChangeListener(
81 InstanceIdentifier<? extends DataObject> path, DataChangeListener listener);