import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-sealed class ContainerNodeCodecContext<D extends DataObject>
+sealed class ContainerLikeCodecContext<D extends DataObject>
extends DataObjectCodecContext<D, ContainerLikeRuntimeType<?, ?>> implements RpcInputCodec<D>
permits StructuralContainerCodecContext {
- ContainerNodeCodecContext(final DataContainerCodecPrototype<ContainerLikeRuntimeType<?, ?>> prototype) {
+ ContainerLikeCodecContext(final DataContainerCodecPrototype<ContainerLikeRuntimeType<?, ?>> prototype) {
super(prototype);
}
@Beta
public abstract sealed class DataObjectCodecContext<D extends DataObject, T extends CompositeRuntimeType>
extends AbstractDataObjectCodecContext<D, T> implements BindingDataObjectCodecTreeNode<D>
- permits CaseNodeCodecContext, ContainerNodeCodecContext, ListNodeCodecContext, NotificationCodecContext {
+ permits CaseNodeCodecContext, ContainerLikeCodecContext, ListNodeCodecContext, NotificationCodecContext {
private static final Logger LOG = LoggerFactory.getLogger(DataObjectCodecContext.class);
private static final VarHandle MISMATCHED_AUGMENTED;
.isEmpty()) {
return new StructuralContainerCodecContext(this);
}
- return new ContainerNodeCodecContext(this);
+ return new ContainerLikeCodecContext(this);
} else if (type instanceof ListRuntimeType) {
return KeyAware.class.isAssignableFrom(getBindingClass())
? KeyedListNodeCodecContext.create((DataContainerCodecPrototype<ListRuntimeType>) this)
}
});
- private final LoadingCache<Class<?>, ContainerNodeCodecContext<?>> rpcDataByClass = CacheBuilder.newBuilder()
+ private final LoadingCache<Class<?>, ContainerLikeCodecContext<?>> rpcDataByClass = CacheBuilder.newBuilder()
.build(new CacheLoader<>() {
@Override
- public ContainerNodeCodecContext<?> load(final Class<?> key) {
+ public ContainerLikeCodecContext<?> load(final Class<?> key) {
final BiFunction<BindingRuntimeTypes, QName, Optional<? extends ContainerLikeRuntimeType<?, ?>>> lookup;
if (RpcInput.class.isAssignableFrom(key)) {
lookup = BindingRuntimeTypes::findRpcInput;
final ContainerLikeRuntimeType<?, ?> type = lookup.apply(context.getTypes(), potentialQName)
.orElseThrow(() -> new IllegalArgumentException("Cannot find runtime type for " + key));
- return (ContainerNodeCodecContext) DataContainerCodecPrototype.from(key,
+ return (ContainerLikeCodecContext) DataContainerCodecPrototype.from(key,
(ContainerLikeRuntimeType<?, ?>) type, factory).get();
}
}
return getOrRethrow(notificationsByClass, notification);
}
- ContainerNodeCodecContext<?> getRpc(final Class<? extends DataContainer> rpcInputOrOutput) {
+ ContainerLikeCodecContext<?> getRpc(final Class<? extends DataContainer> rpcInputOrOutput) {
return getOrRethrow(rpcDataByClass, rpcInputOrOutput);
}
/**
* Marker interface for codecs dealing with RPC input being potentially unmapped. We use this interface to mark both
- * {@link UnmappedRpcInputCodec} and {@link ContainerNodeCodecContext}, which results in bimorphic invocation in
+ * {@link UnmappedRpcInputCodec} and {@link ContainerLikeCodecContext}, which results in bimorphic invocation in
* {@link BindingNormalizedNodeSerializer#fromNormalizedNodeRpcData()}.
*
* <p>
import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
/**
- * A {@link ContainerNodeCodecContext} specialized for {@code container}s which do not have a presence statement.
+ * A {@link ContainerLikeCodecContext} specialized for {@code container}s which do not have a presence statement.
*/
-final class StructuralContainerCodecContext<D extends DataObject> extends ContainerNodeCodecContext<D> {
+final class StructuralContainerCodecContext<D extends DataObject> extends ContainerLikeCodecContext<D> {
private static final VarHandle EMPTY_OBJECT;
static {