import static java.util.Objects.requireNonNull;
import java.util.List;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.MountPointContext;
* A thread-safe factory for instantiating {@link XmlCodec}s.
*/
public final class XmlCodecFactory extends AbstractCodecFactory<XmlCodec<?>> {
- private final MountPointContext mountCtx;
- private final InstanceIdentifierXmlCodec instanceIdentifierCodec;
+ private final @NonNull MountPointContext mountCtx;
+ private final @NonNull PreferredPrefixes pref;
+ private final @NonNull InstanceIdentifierXmlCodec instanceIdentifierCodec;
private XmlCodecFactory(final MountPointContext mountCtx) {
super(mountCtx.getEffectiveModelContext(), new SharedCodecCache<>());
this.mountCtx = requireNonNull(mountCtx);
- instanceIdentifierCodec = new InstanceIdentifierXmlCodec(this);
+ pref = new PreferredPrefixes.Shared(getEffectiveModelContext());
+ instanceIdentifierCodec = new InstanceIdentifierXmlCodec(this, pref);
}
MountPointContext mountPointContext() {
@Override
protected XmlCodec<?> identityRefCodec(final IdentityrefTypeDefinition type, final QNameModule module) {
- return new IdentityrefXmlCodec(getEffectiveModelContext(), module);
+ return new IdentityrefXmlCodec(getEffectiveModelContext(), pref, module);
}
@Override