Update to MD-SAL APIs
[controller.git] / opendaylight / md-sal / sal-binding-api / src / main / java / org / opendaylight / controller / sal / binding / api / data / RuntimeDataProvider.java
index 68a2b29342cfe526a71599663004d56da0af3715..f7116594ff68438886e164af27ac2372316052ea 100644 (file)
@@ -1,56 +1,23 @@
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
 package org.opendaylight.controller.sal.binding.api.data;
 
 import java.util.Set;
 
+import org.opendaylight.controller.md.sal.common.api.data.DataReader;
 import org.opendaylight.controller.sal.binding.api.BindingAwareProvider.ProviderFunctionality;
 import org.opendaylight.controller.sal.common.DataStoreIdentifier;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.DataRoot;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-public interface RuntimeDataProvider extends ProviderFunctionality {
-
-    Set<DataStoreIdentifier> getSupportedStores();
-    
-    
-    Set<Class<? extends DataRoot>> getProvidedDataRoots();
+public interface RuntimeDataProvider extends ProviderFunctionality,DataReader<InstanceIdentifier<? extends DataObject>, DataObject> {
     
     
-    /**
-     * Returns a data from specified Data Store.
-     * 
-     * Returns all the data visible to the consumer from specified Data Store.
-     * 
-     * @param <T>
-     *            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 extends DataRoot> T getData(DataStoreIdentifier store, Class<T> rootType);
 
-    /**
-     * Returns a filtered subset of data from specified Data Store.
-     * 
-     * <p>
-     * 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 <code>get</code> and <code>get-config</code>
-     * in Section 6 of RFC6241.
-     * 
-     * 
-     * @see http://tools.ietf.org/html/rfc6241#section-6
-     * @param <T>
-     *            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 extends DataRoot> T getData(DataStoreIdentifier store, T filter);
-    
-    
-     <T extends DataObject> T getData(Class<T> dataType, InstanceIdentifier identifier);
 }