BUG-1092: rename data.api.InstanceIdentifier to YangInstanceIdentifier
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / codec / BindingIndependentMappingService.java
index 49187ce43f6a5a1af03336c2a1dbbda958157a92..e4a09a03b57e47d9a08044bc933af0f4888a1e2b 100644 (file)
@@ -17,23 +17,101 @@ import org.opendaylight.yangtools.yang.binding.RpcService;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
 
+import com.google.common.base.Optional;
+
 public interface BindingIndependentMappingService {
 
+    /**
+     * Get codec registry.
+     *
+     * @return codec registry
+     */
     CodecRegistry getCodecRegistry();
 
+    /**
+     * Convert given DataObject data to DOM-like node.
+     *
+     * @param data
+     *            DataObject instance
+     * @return CompositeNode created from DataObject instance
+     */
     CompositeNode toDataDom(DataObject data);
 
-    Entry<org.opendaylight.yangtools.yang.data.api.InstanceIdentifier, CompositeNode> toDataDom(
+    /**
+     * Create map entry representing node data (key = data schema node
+     * identifier, value = value is node data representation as Composite node)
+     * from entry representing node class (key = class object identifier, value
+     * = class object).
+     *
+     * @param entry
+     *            map entry, where key is class object identifier and value
+     *            class object
+     * @return data schema node identifier
+     */
+    Entry<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier, CompositeNode> toDataDom(
             Entry<InstanceIdentifier<? extends DataObject>, DataObject> entry);
 
-    org.opendaylight.yangtools.yang.data.api.InstanceIdentifier toDataDom(InstanceIdentifier<? extends DataObject> path);
+    /**
+     * Create data schema node identifier from class object identifier.
+     *
+     * @param path
+     *            class object identifier
+     * @return data schema node identifier
+     */
+    org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier toDataDom(InstanceIdentifier<? extends DataObject> path);
 
-    DataObject dataObjectFromDataDom(InstanceIdentifier<? extends DataObject> path, CompositeNode result) throws DeserializationException;
+    /**
+     * Create DataObject instance from CompositeNode data based on given path.
+     *
+     * @param path
+     *            node identifier
+     * @param result
+     *            node data
+     * @return inputClass instance created from composite node input
+     */
+    DataObject dataObjectFromDataDom(InstanceIdentifier<? extends DataObject> path, CompositeNode result)
+            throws DeserializationException;
 
-    InstanceIdentifier<?> fromDataDom(org.opendaylight.yangtools.yang.data.api.InstanceIdentifier entry)  throws DeserializationException;
+    /**
+     * Create class object identifier from data schema node identifier.
+     *
+     * @param entry
+     *            data schema node identifier
+     * @return class object identifier
+     */
+    InstanceIdentifier<?> fromDataDom(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier entry)
+            throws DeserializationException;
 
+    /**
+     * Returns the list of currently-known QNames for instances of a service.
+     *
+     * @param service
+     *            RPC service
+     * @return List of QNames. The user may not modify this list.
+     */
     Set<QName> getRpcQNamesFor(Class<? extends RpcService> service);
 
+    /**
+     * Get RpcService by namespace and revision.
+     *
+     * @param namespace
+     *            rpc service namespace
+     * @param revision
+     *            rpc service revision
+     * @return Optional reference on RpcServices based on given namespace and
+     *         revision
+     */
+    Optional<Class<? extends RpcService>> getRpcServiceClassFor(String namespace, String revision);
+
+    /**
+     * Create inputClass instance from CompositeNode data.
+     *
+     * @param inputClass
+     *            expected type of resulting object
+     * @param domInput
+     *            node data
+     * @return inputClass instance created from composite node input
+     */
     DataContainer dataObjectFromDataDom(Class<? extends DataContainer> inputClass, CompositeNode domInput);
 
 }