package org.opendaylight.yangtools.yang.data.codec.xml;
-import static com.google.common.base.Verify.verifyNotNull;
import static java.util.Objects.requireNonNull;
import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.data.util.codec.AbstractCodecFactory;
import org.opendaylight.yangtools.yang.data.util.codec.SharedCodecCache;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaNode;
-import org.opendaylight.yangtools.yang.model.api.TypeAware;
import org.opendaylight.yangtools.yang.model.api.type.BinaryTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.BooleanTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.Uint8TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.UnknownTypeDefinition;
-import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil;
/**
* A thread-safe factory for instantiating {@link XmlCodec}s.
protected XmlCodec<?> unknownCodec(final UnknownTypeDefinition type) {
return NullXmlCodec.INSTANCE;
}
-
- <T extends SchemaNode & TypeAware> XmlCodec<?> codecFor(final T currentNode) {
- return codecFor(currentNode, type -> verifyNotNull(
- SchemaContextUtil.getBaseTypeForLeafRef(type, getEffectiveModelContext(), currentNode),
- "Unable to find base type for leafref node %s type %s.", currentNode, type));
- }
}