1 package org.opendaylight.controller.sal.binding.api.data;
5 import org.opendaylight.controller.sal.common.DataStoreIdentifier;
6 import org.opendaylight.yangtools.yang.binding.DataObject;
7 import org.opendaylight.yangtools.yang.binding.DataRoot;
9 public interface RuntimeDataProvider {
11 Set<DataStoreIdentifier> getSupportedStores();
14 Set<Class<? extends DataRoot>> getProvidedDataRoots();
18 * Returns a data from specified Data Store.
20 * Returns all the data visible to the consumer from specified Data Store.
23 * Interface generated from YANG module representing root of data
25 * Identifier of the store, from which will be data retrieved
26 * @return data visible to the consumer
28 <T extends DataRoot> T getData(DataStoreIdentifier store, Class<T> rootType);
31 * Returns a filtered subset of data from specified Data Store.
34 * The filter is modeled as an hierarchy of Java TOs starting with
35 * implementation of {@link DataRoot} representing data root. The semantics
36 * of the filter tree is the same as filter semantics defined in the NETCONF
37 * protocol for rpc operations <code>get</code> and <code>get-config</code>
38 * in Section 6 of RFC6241.
41 * @see http://tools.ietf.org/html/rfc6241#section-6
43 * Interface generated from YANG module representing root of data
45 * Identifier of the store, from which will be data retrieved
47 * Data tree filter similar to the NETCONF filter
50 <T extends DataRoot> T getData(DataStoreIdentifier store, T filter);