1 package org.opendaylight.controller.sal.binding.dom.serializer.api;
3 import org.opendaylight.yangtools.concepts.Identifiable;
4 import org.opendaylight.yangtools.yang.binding.Augmentation;
5 import org.opendaylight.yangtools.yang.binding.DataContainer;
6 import org.opendaylight.yangtools.yang.binding.Identifier;
10 import org.opendaylight.yangtools.yang.common.QName;
11 import org.opendaylight.controller.sal.binding.dom.serializer.api.IdentifierCodec;
14 public interface CodecRegistry {
16 InstanceIdentifierCodec getInstanceIdentifierCodec();
18 <T extends DataContainer> DataContainerCodec<T> getCodecForDataObject(Class<T> object);
20 <T extends Identifiable<?>> IdentifierCodec<?> getIdentifierCodecForIdentifiable(Class<T> object);
22 <T extends Identifier<?>> IdentifierCodec<T> getCodecForIdentifier(Class<T> object);
24 <T extends Augmentation<?>> AugmentationCodec<T> getCodecForAugmentation(Class<T> object);
26 Class<?> getClassForPath(List<QName> names);
28 IdentifierCodec<?> getKeyCodecForPath(List<QName> names);
31 void bindingClassEncountered(Class<?> cls);