package org.opendaylight.controller.sal.binding.dom.serializer.api; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.yang.binding.Augmentation; import org.opendaylight.yangtools.yang.binding.BaseIdentity; import org.opendaylight.yangtools.yang.binding.DataContainer; import org.opendaylight.yangtools.yang.binding.Identifier; import java.util.List; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.controller.sal.binding.dom.serializer.api.IdentifierCodec; import org.opendaylight.yangtools.yang.binding.DataObject; public interface CodecRegistry { InstanceIdentifierCodec getInstanceIdentifierCodec(); IdentitityCodec getIdentityCodec(); DataContainerCodec getCodecForDataObject(Class object); > IdentifierCodec getIdentifierCodecForIdentifiable(Class object); > IdentifierCodec getCodecForIdentifier(Class object); > AugmentationCodec getCodecForAugmentation(Class object); IdentitityCodec getCodecForIdentity(Class codec); Class getClassForPath(List names); IdentifierCodec getKeyCodecForPath(List names); void bindingClassEncountered(Class cls); void putPathToClass(List names, Class cls); public abstract QName getQNameForAugmentation(Class cls); }