private final @NonNull NormalizedNodeStreamWriter delegate;
private final CodecContext rootContext;
- BindingToNormalizedStreamWriter(final DataContainerCodecContext<?, ?> rootContext,
+ BindingToNormalizedStreamWriter(final DataContainerCodecContext<?, ?, ?> rootContext,
final NormalizedNodeStreamWriter delegate) {
this.rootContext = requireNonNull(rootContext);
this.delegate = requireNonNull(delegate);
if (current == null) {
// Entry of first node
next = rootContext;
- } else if (current instanceof DataContainerCodecContext<?, ?> currentContainer) {
+ } else if (current instanceof DataContainerCodecContext<?, ?, ?> currentContainer) {
next = currentContainer.getStreamChild((Class) name);
} else {
throw new IllegalArgumentException("Could not start node " + name + " in non-container " + current);
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 AugmentationCodecContext)) {
+ if (!(left instanceof CaseCodecContext) && !(left instanceof AugmentationCodecContext)) {
delegate.endNode();
}
}
@Override
public void startMapEntryNode(final Key<?> key, final int childSizeHint) throws IOException {
duplicateSchemaEnter();
- NodeIdentifierWithPredicates identifier = ((KeyedListNodeCodecContext<?, ?>) current()).serialize(key);
+ NodeIdentifierWithPredicates identifier = ((MapCodecContext<?, ?>) current()).serialize(key);
delegate.startMapEntryNode(identifier, childSizeHint);
}