import org.opendaylight.yangtools.yang.binding.Key;
import org.opendaylight.yangtools.yang.binding.KeyAware;
import org.opendaylight.yangtools.yang.binding.OpaqueObject;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
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);
}
@SuppressWarnings({"unchecked", "rawtypes"})
- private <T extends YangInstanceIdentifier.PathArgument> T enter(final Class<?> name, final Class<T> identifier) {
+ private <T extends PathArgument> T enter(final Class<?> name, final Class<T> identifier) {
final var current = current();
final CodecContext next;
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);
return identifier.cast(next.getDomPathArgument());
}
- private <T extends YangInstanceIdentifier.PathArgument> T enter(final String localName, final Class<T> identifier) {
+ private <T extends PathArgument> T enter(final String localName, final Class<T> identifier) {
final var current = current();
final var next = ((AbstractDataObjectCodecContext<?, ?>) current).getLeafChild(localName);
schema.push(next);
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();
}
}