Move RuntimeGeneratedMappingService from md-sal to yang-data-impl(codecs + apis)...
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / codec / BindingIndependentMappingService.java
1 package org.opendaylight.yangtools.yang.data.impl.codec;
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     CodecRegistry getCodecRegistry();
16
17     CompositeNode toDataDom(DataObject data);
18
19     Entry<org.opendaylight.yangtools.yang.data.api.InstanceIdentifier, CompositeNode> toDataDom(
20             Entry<InstanceIdentifier<? extends DataObject>, DataObject> entry);
21
22     org.opendaylight.yangtools.yang.data.api.InstanceIdentifier toDataDom(InstanceIdentifier<? extends DataObject> path);
23
24     DataObject dataObjectFromDataDom(InstanceIdentifier<? extends DataObject> path, CompositeNode result) throws DeserializationException;
25
26     InstanceIdentifier<?> fromDataDom(org.opendaylight.yangtools.yang.data.api.InstanceIdentifier entry)  throws DeserializationException;
27
28     Set<QName> getRpcQNamesFor(Class<? extends RpcService> service);
29
30     DataContainer dataObjectFromDataDom(Class<? extends DataContainer> inputClass, CompositeNode domInput);
31
32 }