X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-dom-codec%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fcodec%2Fimpl%2FChoiceCodecPrototype.java;h=f5ac3d670281375ecb2f900ec64b2109d906162f;hb=f3be50ed801e5de305eb46b824e6bc3c6075e4bc;hp=7fc1f3cca996e21e7bc85f71bdb89645f8a39944;hpb=3b18d17d6882c14b0f3542717e3ca539c0bc9593;p=mdsal.git diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceCodecPrototype.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceCodecPrototype.java index 7fc1f3cca9..f5ac3d6702 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceCodecPrototype.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceCodecPrototype.java @@ -7,20 +7,40 @@ */ package org.opendaylight.mdsal.binding.dom.codec.impl; +import static java.util.Objects.requireNonNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.runtime.api.ChoiceRuntimeType; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.Item; +import org.opendaylight.yangtools.yang.binding.ChoiceIn; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; /** * A prototype for {@link ChoiceCodecContext}. */ -final class ChoiceCodecPrototype extends DataObjectCodecPrototype { - ChoiceCodecPrototype(final Item item, final ChoiceRuntimeType type, final CodecContextFactory factory) { - super(item, NodeIdentifier.create(type.statement().argument()), type, factory); +final class ChoiceCodecPrototype> + extends DataContainerPrototype, ChoiceRuntimeType> { + private final @NonNull NodeIdentifier yangArg; + private final @NonNull Class javaClass; + + ChoiceCodecPrototype(final CodecContextFactory contextFactory, final ChoiceRuntimeType runtimeType, + final Class javaClass) { + super(contextFactory, runtimeType); + this.javaClass = requireNonNull(javaClass); + yangArg = NodeIdentifier.create(runtimeType.statement().argument()); + } + + @Override + Class javaClass() { + return javaClass; + } + + @Override + NodeIdentifier yangArg() { + return yangArg; } @Override - ChoiceCodecContext createInstance() { + ChoiceCodecContext createInstance() { return new ChoiceCodecContext<>(this); } }