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