X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fsal%2Fsal-binding-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Fapi%2Fdata%2FRuntimeDataProvider.java;h=4b01aed6ee7a285d91b9faddc5e03da27091cabf;hp=b9f5d5aa2700a92665db21f966766873f8baec47;hb=3a4033c1c3589c009aa724d7e27c2ac4e312971a;hpb=8c9a1cf398348546e6e5ba74a2012ed942a2fddb diff --git a/opendaylight/sal/yang-prototype/sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/RuntimeDataProvider.java b/opendaylight/sal/yang-prototype/sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/RuntimeDataProvider.java index b9f5d5aa27..4b01aed6ee 100644 --- a/opendaylight/sal/yang-prototype/sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/RuntimeDataProvider.java +++ b/opendaylight/sal/yang-prototype/sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/RuntimeDataProvider.java @@ -2,9 +2,50 @@ package org.opendaylight.controller.sal.binding.api.data; import java.util.Set; +import org.opendaylight.controller.sal.common.DataStoreIdentifier; +import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.DataRoot; public interface RuntimeDataProvider { + Set getSupportedStores(); + + Set> getProvidedDataRoots(); + + + /** + * Returns a data from specified Data Store. + * + * Returns all the data visible to the consumer from specified Data Store. + * + * @param + * Interface generated from YANG module representing root of data + * @param store + * Identifier of the store, from which will be data retrieved + * @return data visible to the consumer + */ + T getData(DataStoreIdentifier store, Class rootType); + + /** + * Returns a filtered subset of data from specified Data Store. + * + *

+ * The filter is modeled as an hierarchy of Java TOs starting with + * implementation of {@link DataRoot} representing data root. The semantics + * of the filter tree is the same as filter semantics defined in the NETCONF + * protocol for rpc operations get and get-config + * in Section 6 of RFC6241. + * + * + * @see http://tools.ietf.org/html/rfc6241#section-6 + * @param + * Interface generated from YANG module representing root of data + * @param store + * Identifier of the store, from which will be data retrieved + * @param filter + * Data tree filter similar to the NETCONF filter + * @return + */ + T getData(DataStoreIdentifier store, T filter); }