X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=binding%2Fmdsal-binding-dom-codec%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fcodec%2Fimpl%2FIdentifiableItemCodec.java;h=0b89bff24fda6e2ea4e277388b5c999d72c8c9a2;hb=984dfcd854a006724cbf0b20efc8bac6094bad48;hp=f7ef432da873185892d7d356afd62fe11fc75d5d;hpb=cb0f3a767fa856c220edd674fda4d55dde408c64;p=mdsal.git diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentifiableItemCodec.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentifiableItemCodec.java index f7ef432da8..0b89bff24f 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentifiableItemCodec.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentifiableItemCodec.java @@ -23,7 +23,6 @@ import java.util.Map.Entry; import java.util.Set; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; -import org.opendaylight.yangtools.concepts.AbstractIllegalArgumentCodec; import org.opendaylight.yangtools.util.ImmutableOffsetMap; import org.opendaylight.yangtools.util.ImmutableOffsetMapTemplate; import org.opendaylight.yangtools.yang.binding.Identifiable; @@ -39,8 +38,8 @@ import org.slf4j.LoggerFactory; /** * Codec support for extracting the {@link Identifiable#key()} method return from a MapEntryNode. */ -abstract class IdentifiableItemCodec - extends AbstractIllegalArgumentCodec> { +// FIXME: sealed class when we have JDK17+ +abstract class IdentifiableItemCodec { private static final class SingleKey extends IdentifiableItemCodec { private static final MethodType CTOR_TYPE = MethodType.methodType(Identifier.class, Object.class); @@ -150,20 +149,17 @@ abstract class IdentifiableItemCodec } } - @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - protected final IdentifiableItem deserializeImpl(final NodeIdentifierWithPredicates input) { - final Identifier identifier = deserializeIdentifier(input); - return IdentifiableItem.of((Class) identifiable, (Identifier) identifier); + final @NonNull IdentifiableItem domToBinding(final NodeIdentifierWithPredicates input) { + return IdentifiableItem.of((Class) identifiable, (Identifier) deserializeIdentifier(requireNonNull(input))); } - @Override - protected final NodeIdentifierWithPredicates serializeImpl(final IdentifiableItem input) { + final @NonNull NodeIdentifierWithPredicates bindingToDom(final IdentifiableItem input) { return serializeIdentifier(qname, input.getKey()); } @SuppressWarnings("checkstyle:illegalCatch") - final @NonNull Identifier deserializeIdentifier(final NodeIdentifierWithPredicates input) { + final @NonNull Identifier deserializeIdentifier(final @NonNull NodeIdentifierWithPredicates input) { try { return deserializeIdentifierImpl(input); } catch (Throwable e) {