From: Robert Varga Date: Tue, 13 Jun 2023 12:09:34 +0000 (+0200) Subject: Rename NodeCodecContext X-Git-Tag: v12.0.0~80 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=258caa41869a6062e5296805e153d629fd496b7c;p=mdsal.git Rename NodeCodecContext This name is awefully long and the 'Node' part does not convey any meaning. Rename it to CodecContext. JIRA: MDSAL-828 Change-Id: I31e93a49d79f31e3d43bc803639393c8e9e6c8d9 Signed-off-by: Robert Varga --- diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCache.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCache.java index b1fbf23dc4..a8aedb5ae3 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCache.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCache.java @@ -25,7 +25,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; * @param BindingObject subtype * @param Root codec context type */ -abstract class AbstractBindingNormalizedNodeCache +abstract class AbstractBindingNormalizedNodeCache extends CacheLoader { private final LoadingCache cache; private final @NonNull C rootContext; diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCacheHolder.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCacheHolder.java index 88779be59e..7cfe964d3a 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCacheHolder.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCacheHolder.java @@ -22,10 +22,10 @@ import org.opendaylight.yangtools.yang.binding.BindingObject; */ abstract class AbstractBindingNormalizedNodeCacheHolder { @SuppressWarnings("rawtypes") - private final LoadingCache caches = + private final LoadingCache caches = CacheBuilder.newBuilder().build(new CacheLoader<>() { @Override - public AbstractBindingNormalizedNodeCache load(final NodeCodecContext key) { + public AbstractBindingNormalizedNodeCache load(final CodecContext key) { // FIXME: Use a switch expression once we have https://openjdk.org/jeps/441 if (key instanceof DataContainerCodecContext dataContainer) { return new DataObjectNormalizedNodeCache(AbstractBindingNormalizedNodeCacheHolder.this, @@ -45,7 +45,7 @@ abstract class AbstractBindingNormalizedNodeCacheHolder { } @SuppressWarnings("unchecked") - > + > AbstractBindingNormalizedNodeCache getCachingSerializer(final C childCtx) { return isCached(childCtx.getBindingClass()) ? caches.getUnchecked(childCtx) : null; } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractDataObjectCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractDataObjectCodecContext.java index 98707aeb4d..cb4d7d417b 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractDataObjectCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractDataObjectCodecContext.java @@ -49,7 +49,7 @@ public abstract sealed class AbstractDataObjectCodecContext, DataContainerCodecPrototype> byBindingArgClass; private final ImmutableMap, DataContainerCodecPrototype> byStreamClass; - private final ImmutableMap byYang; + private final ImmutableMap byYang; private final ImmutableMap leafChild; private final MethodHandle proxyConstructor; @@ -123,8 +123,8 @@ public abstract sealed class AbstractDataObjectCodecContext getCodecContextNode(final @NonNull YangInstanceIdentifier dom, final @Nullable Collection bindingArguments) { - NodeCodecContext currentNode = root; + CodecContext currentNode = root; ListNodeCodecContext currentList = null; for (var domArg : dom.getPathArguments()) { diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingToNormalizedStreamWriter.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingToNormalizedStreamWriter.java index f5bdc9e795..6390c11ec9 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingToNormalizedStreamWriter.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingToNormalizedStreamWriter.java @@ -33,9 +33,9 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; final class BindingToNormalizedStreamWriter implements AnydataBindingStreamWriter, Delegator { - private final Deque schema = new ArrayDeque<>(); + private final Deque schema = new ArrayDeque<>(); private final @NonNull NormalizedNodeStreamWriter delegate; - private final NodeCodecContext rootContext; + private final CodecContext rootContext; BindingToNormalizedStreamWriter(final DataContainerCodecContext rootContext, final NormalizedNodeStreamWriter delegate) { @@ -47,13 +47,13 @@ final class BindingToNormalizedStreamWriter implements AnydataBindingStreamWrite delegate.nextDataSchemaNode((DataSchemaNode) schemaNode); } - NodeCodecContext current() { + CodecContext current() { return schema.peek(); } private NodeIdentifier duplicateSchemaEnter() { final var current = current(); - final NodeCodecContext next; + final CodecContext next; if (current == null) { // Entry of first node next = rootContext; @@ -67,7 +67,7 @@ final class BindingToNormalizedStreamWriter implements AnydataBindingStreamWrite @SuppressWarnings({"unchecked", "rawtypes"}) private T enter(final Class name, final Class identifier) { final var current = current(); - final NodeCodecContext next; + final CodecContext next; if (current == null) { // Entry of first node next = rootContext; @@ -94,7 +94,7 @@ final class BindingToNormalizedStreamWriter implements AnydataBindingStreamWrite @Override public void endNode() throws IOException { - NodeCodecContext left = schema.pop(); + CodecContext left = schema.pop(); // Due to writer does not start a new node on startCase() and on startAugmentationNode() // node ending should not be triggered when associated endNode() is invoked. if (!(left instanceof CaseNodeCodecContext) && !(left instanceof AugmentationNodeContext)) { diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java index ceeefcaea2..6399c591d9 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java @@ -228,7 +228,7 @@ final class ChoiceNodeCodecContext extends DataContainerCo } @Override - public NodeCodecContext yangPathArgumentChild(final YangInstanceIdentifier.PathArgument arg) { + public CodecContext yangPathArgumentChild(final YangInstanceIdentifier.PathArgument arg) { final DataContainerCodecPrototype cazeProto; if (arg instanceof NodeIdentifierWithPredicates) { cazeProto = byYangCaseChild.get(new NodeIdentifier(arg.getNodeType())); diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ClassGeneratorBridge.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ClassGeneratorBridge.java index e3b78561eb..bf2823c376 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ClassGeneratorBridge.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ClassGeneratorBridge.java @@ -49,14 +49,14 @@ public final class ClassGeneratorBridge { } } - interface LocalNameProvider extends BridgeProvider { + interface CodecContextSupplierProvider extends BridgeProvider { - @NonNull String resolveLocalName(@NonNull String methodName); + @NonNull CodecContextSupplier resolveCodecContextSupplier(@NonNull String methodName); } - interface NodeContextSupplierProvider extends BridgeProvider { + interface LocalNameProvider extends BridgeProvider { - @NonNull NodeContextSupplier resolveNodeContextSupplier(@NonNull String methodName); + @NonNull String resolveLocalName(@NonNull String methodName); } private static final ThreadLocal> CURRENT_CUSTOMIZER = new ThreadLocal<>(); @@ -65,8 +65,8 @@ public final class ClassGeneratorBridge { // Hidden on purpose } - public static @NonNull NodeContextSupplier resolveNodeContextSupplier(final @NonNull String methodName) { - return current(NodeContextSupplierProvider.class).resolveNodeContextSupplier(methodName); + public static @NonNull CodecContextSupplier resolveCodecContextSupplier(final @NonNull String methodName) { + return current(CodecContextSupplierProvider.class).resolveCodecContextSupplier(methodName); } public static @NonNull String resolveLocalName(final @NonNull String methodName) { diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NodeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecContext.java similarity index 96% rename from binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NodeCodecContext.java rename to binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecContext.java index 72c4f1f4e9..55205517c6 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NodeCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecContext.java @@ -24,7 +24,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; * nodes contain contexts for their individual children nodes * */ -abstract sealed class NodeCodecContext implements BindingCodecTreeNode +abstract sealed class CodecContext implements BindingCodecTreeNode permits DataContainerCodecContext, ValueNodeCodecContext { /** * Returns {@link NodeIdentifier} of current node, if applicable. diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NodeContextSupplier.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecContextSupplier.java similarity index 91% rename from binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NodeContextSupplier.java rename to binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecContextSupplier.java index b9c84703f2..1fa8b16887 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NodeContextSupplier.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecContextSupplier.java @@ -17,6 +17,6 @@ import org.eclipse.jdt.annotation.NonNullByDefault; @Beta @FunctionalInterface @NonNullByDefault -public interface NodeContextSupplier { - NodeCodecContext get(); +public interface CodecContextSupplier { + CodecContext get(); } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObject.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObject.java index 5e7c5df0ca..e506f4d05d 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObject.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObject.java @@ -78,7 +78,7 @@ public abstract class CodecDataObject implements DataObjec return cached != null ? unmaskNull(cached) : loadMember(handle, context.streamChild(bindingClass)); } - protected final Object codecMember(final VarHandle handle, final NodeContextSupplier supplier) { + protected final Object codecMember(final VarHandle handle, final CodecContextSupplier supplier) { final Object cached = handle.getAcquire(this); return cached != null ? unmaskNull(cached) : loadMember(handle, supplier.get()); } @@ -114,7 +114,7 @@ public abstract class CodecDataObject implements DataObjec } // Helper split out of codecMember to aid its inlining - private Object loadMember(final VarHandle handle, final NodeCodecContext childCtx) { + private Object loadMember(final VarHandle handle, final CodecContext childCtx) { final var child = data.childByArg(childCtx.getDomPathArgument()); // We do not want to use Optional.map() here because we do not want to invoke defaultObject() when we have diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectAnalysis.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectAnalysis.java index 26ecdd6c86..81ebb79ae5 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectAnalysis.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectAnalysis.java @@ -47,7 +47,7 @@ final class CodecDataObjectAnalysis { final @NonNull ImmutableMap, DataContainerCodecPrototype> byStreamClass; final @NonNull ImmutableMap, DataContainerCodecPrototype> byBindingArgClass; - final @NonNull ImmutableMap byYang; + final @NonNull ImmutableMap byYang; final @NonNull ImmutableMap leafNodes; final @NonNull Class> generatedClass; final @NonNull List possibleAugmentations; @@ -66,7 +66,7 @@ final class CodecDataObjectAnalysis { final var clsToMethod = getChildrenClassToMethod(bindingClass); // Indexing part: be very careful around what gets done when - final var byYangBuilder = new HashMap(); + final var byYangBuilder = new HashMap(); // Step 1: add leaf children var leafBuilder = ImmutableMap.builderWithExpectedSize(leafContexts.size()); diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectGenerator.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectGenerator.java index 89981438a5..f224471e5e 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectGenerator.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectGenerator.java @@ -41,8 +41,8 @@ import net.bytebuddy.implementation.bytecode.member.MethodReturn; import net.bytebuddy.implementation.bytecode.member.MethodVariableAccess; import net.bytebuddy.jar.asm.Opcodes; import org.eclipse.jdt.annotation.Nullable; +import org.opendaylight.mdsal.binding.dom.codec.impl.ClassGeneratorBridge.CodecContextSupplierProvider; import org.opendaylight.mdsal.binding.dom.codec.impl.ClassGeneratorBridge.LocalNameProvider; -import org.opendaylight.mdsal.binding.dom.codec.impl.ClassGeneratorBridge.NodeContextSupplierProvider; import org.opendaylight.mdsal.binding.loader.BindingClassLoader; import org.opendaylight.mdsal.binding.loader.BindingClassLoader.ClassGenerator; import org.opendaylight.mdsal.binding.loader.BindingClassLoader.GeneratorResult; @@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory; * strong connection between a generated class to the extent possible. In most cases (grouping-generated types) this * involves one level of indirection, which is a safe approach. If we are dealing with a type generated outside of a * grouping statement, though, we are guaranteed instantiation-invariance and hence can hard-wire to a runtime-constant - * {@link NodeContextSupplier} -- which provides significant boost to JITs ability to optimize code -- especially with + * {@link CodecContextSupplier} -- which provides significant boost to JITs ability to optimize code -- especially with * inlining and constant propagation. * *

@@ -133,14 +133,14 @@ import org.slf4j.LoggerFactory; * and class loading (in {@link BindingClassLoader}). The process is performed in four steps: *

    *
  • During code generation, the context fields are pointed towards - * {@link ClassGeneratorBridge#resolveNodeContextSupplier(String)} and + * {@link ClassGeneratorBridge#resolveCodecContextSupplier(String)} and * {@link ClassGeneratorBridge#resolveKey(String)} methods, which are public and static, hence perfectly usable * in the context of a class initializer.
  • *
  • During class loading of generated byte code, the original instance of the generator is called to wrap the actual * class loading operation. At this point the generator installs itself as the current generator for this thread via * {@link ClassGeneratorBridge#setup(CodecDataObjectGenerator)} and allows the class to be loaded. *
  • After the class has been loaded, but before the call returns, we will force the class to initialize, at which - * point the static invocations will be redirected to {@link #resolveNodeContextSupplier(String)} and + * point the static invocations will be redirected to {@link #resolveCodecContextSupplier(String)} and * {@link #resolveKey(String)} methods, thus initializing the fields to the intended constants.
  • *
  • Before returning from the class loading call, the generator will detach itself via * {@link ClassGeneratorBridge#tearDown(CodecDataObjectGenerator)}.
  • @@ -155,10 +155,10 @@ abstract class CodecDataObjectGenerator> implements // FIXME: MDSAL-443: wire this implementation, which requires that BindingRuntimeTypes provides information about // types being generated from within a grouping private static final class Fixed> extends CodecDataObjectGenerator - implements NodeContextSupplierProvider { - private final ImmutableMap properties; + implements CodecContextSupplierProvider { + private final ImmutableMap properties; - Fixed(final TypeDescription superClass, final ImmutableMap properties, + Fixed(final TypeDescription superClass, final ImmutableMap properties, final @Nullable Method keyMethod) { super(superClass, keyMethod); this.properties = requireNonNull(properties); @@ -178,8 +178,8 @@ abstract class CodecDataObjectGenerator> implements } @Override - public NodeContextSupplier resolveNodeContextSupplier(final String methodName) { - final Optional> found = properties.entrySet().stream() + public CodecContextSupplier resolveCodecContextSupplier(final String methodName) { + final Optional> found = properties.entrySet().stream() .filter(entry -> methodName.equals(entry.getKey().getName())).findAny(); verify(found.isPresent(), "Failed to find property for %s in %s", methodName, this); return verifyNotNull(found.orElseThrow().getValue()); @@ -518,10 +518,10 @@ abstract class CodecDataObjectGenerator> implements private static final class SupplierGetterMethodImplementation extends AbstractCachedMethodImplementation { private static final StackManipulation CODEC_MEMBER = invokeMethod(CodecDataObject.class, - "codecMember", VarHandle.class, NodeContextSupplier.class); + "codecMember", VarHandle.class, CodecContextSupplier.class); private static final StackManipulation BRIDGE_RESOLVE = invokeMethod(ClassGeneratorBridge.class, "resolveNodeContextSupplier", String.class); - private static final Generic BB_NCS = TypeDefinition.Sort.describe(NodeContextSupplier.class); + private static final Generic BB_NCS = TypeDefinition.Sort.describe(CodecContextSupplier.class); // getFoo$$$C private final String contextName; diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataContainerCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataContainerCodecContext.java index c7aeffeb7e..7d2326faed 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataContainerCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataContainerCodecContext.java @@ -56,7 +56,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; abstract sealed class DataContainerCodecContext - extends NodeCodecContext implements CommonDataObjectCodecTreeNode + extends CodecContext implements CommonDataObjectCodecTreeNode permits AbstractDataObjectCodecContext, ChoiceNodeCodecContext, SchemaRootCodecContext { private static final Logger LOG = LoggerFactory.getLogger(DataContainerCodecContext.class); private static final VarHandle EVENT_STREAM_SERIALIZER; @@ -110,7 +110,7 @@ abstract sealed class DataContainerCodecContext implements NodeContextSupplier +abstract sealed class DataContainerCodecPrototype implements CodecContextSupplier permits AugmentationCodecPrototype, DataObjectCodecPrototype { private static final Logger LOG = LoggerFactory.getLogger(DataContainerCodecPrototype.class); diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java index ac21c3bb04..55d08630b3 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java @@ -124,7 +124,7 @@ public abstract sealed class DataObjectCodecContext> +final class TypeObjectNormalizedNodeCache> extends AbstractBindingNormalizedNodeCache { TypeObjectNormalizedNodeCache(final C rootContext) { super(rootContext); diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ValueNodeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ValueNodeCodecContext.java index a5f3dae37a..a55f10ae32 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ValueNodeCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ValueNodeCodecContext.java @@ -17,7 +17,7 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; * Abstract base class for atomic nodes. These are nodes which are not decomposed in the Binding Specification, such * as LeafNodes and LeafSetNodes. */ -abstract sealed class ValueNodeCodecContext extends NodeCodecContext implements NodeContextSupplier +abstract sealed class ValueNodeCodecContext extends CodecContext implements CodecContextSupplier permits OpaqueNodeCodecContext, ValueNodeCodecContext.WithCodec { abstract static sealed class WithCodec extends ValueNodeCodecContext permits LeafNodeCodecContext, LeafSetNodeCodecContext { @@ -53,7 +53,7 @@ abstract sealed class ValueNodeCodecContext extends NodeCodecContext implements } @Override - public final NodeCodecContext get() { + public final CodecContext get() { return this; }