Merge "Refactor Subnet.isSubnetOf - reduce number of 'if' statements. Added unitests."
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / java / org / opendaylight / controller / sal / binding / impl / connect / dom / BindingIndependentMappingService.java
1 package org.opendaylight.controller.sal.binding.impl.connect.dom;
2
3 import java.util.Map.Entry;
4 import java.util.Set;
5
6 import org.opendaylight.yangtools.yang.binding.DataContainer;
7 import org.opendaylight.yangtools.yang.binding.DataObject;
8 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
9 import org.opendaylight.yangtools.yang.binding.RpcService;
10 import org.opendaylight.yangtools.yang.common.QName;
11 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
12
13 public interface BindingIndependentMappingService {
14
15     CompositeNode toDataDom(DataObject data);
16
17     Entry<org.opendaylight.yangtools.yang.data.api.InstanceIdentifier, CompositeNode> toDataDom(
18             Entry<InstanceIdentifier<? extends DataObject>, DataObject> entry);
19
20     org.opendaylight.yangtools.yang.data.api.InstanceIdentifier toDataDom(InstanceIdentifier<? extends DataObject> path);
21
22     DataObject dataObjectFromDataDom(InstanceIdentifier<? extends DataObject> path, CompositeNode result) throws DeserializationException;
23
24     InstanceIdentifier<?> fromDataDom(org.opendaylight.yangtools.yang.data.api.InstanceIdentifier entry)  throws DeserializationException;
25     
26     Set<QName> getRpcQNamesFor(Class<? extends RpcService> service);
27
28     DataContainer dataObjectFromDataDom(Class<? extends DataContainer> inputClass, CompositeNode domInput);
29
30 }