* This serializer implements {@link BindingStreamEventWriter} along with {@link BindingSerializer}.
*
* <p>
- * {@link BindingSerializer} interface is used by generated implementations of {@link DataObjectSerializer} to provide
- * Binding object for inspection and to prevent streaming of already serialized object.
+ * {@link BindingSerializer} interface is used by generated implementations of {@link DataContainerSerializer} to
+ * provide Binding object for inspection and to prevent streaming of already serialized object.
*/
final class CachingNormalizedNodeSerializer extends ForwardingBindingStreamEventWriter
implements BindingSerializer<Object, DataObject> {
private final BindingToNormalizedStreamWriter delegate;
private CachingNormalizedNodeSerializer(final AbstractBindingNormalizedNodeCacheHolder cacheHolder,
- final DataContainerCodecContext<?, ?> subtreeRoot) {
+ final DataContainerCodecContext<?, ?, ?> subtreeRoot) {
this.cacheHolder = requireNonNull(cacheHolder);
delegate = new BindingToNormalizedStreamWriter(subtreeRoot, domWriter);
}
* @return Normalized Node representation of data.
*/
static NormalizedNode serializeUsingStreamWriter(final AbstractBindingNormalizedNodeCacheHolder cacheHolder,
- final DataContainerCodecContext<?, ?> subtreeRoot, final DataObject data) {
+ final DataContainerCodecContext<?, ?, ?> subtreeRoot, final DataObject data) {
final var writer = new CachingNormalizedNodeSerializer(cacheHolder, subtreeRoot);
try {
subtreeRoot.eventStreamSerializer().serialize(data, writer);
// They are immutable and hence we can safely wrap them in LeafNodes and reuse them, if directed to do so.
final var type = typed.getClass();
if (cacheHolder.isCached(type)) {
- final var context = ((DataObjectCodecContext<?, ?>) delegate.current()).getLeafChild(localName);
+ final var context = ((AbstractDataObjectCodecContext<?, ?>) delegate.current()).getLeafChild(localName);
if (context instanceof LeafNodeCodecContext.OfTypeObject<?> typeContext) {
final var cache = cacheHolder.getCachingSerializer(typeContext);
if (cache != null) {
*
* <p>
* Note that this optional is serialization of child node invoked from
- * {@link org.opendaylight.mdsal.binding.dom.codec.impl.DataObjectSerializer}, which may opt-out from
+ * {@link org.opendaylight.mdsal.binding.dom.codec.impl.DataContainerSerializer}, which may opt-out from
* streaming of data when non-null result is returned.
*/
@Override
private AbstractBindingNormalizedNodeCache<DataObject, ?> getCacheSerializer(
final Class<? extends DataObject> type) {
if (cacheHolder.isCached(type)) {
- final var currentCtx = (DataContainerCodecContext<?, ?>) delegate.current();
+ final var currentCtx = (DataContainerCodecContext<?, ?, ?>) delegate.current();
if (type.equals(currentCtx.getBindingClass())) {
return cacheHolder.getCachingSerializer(currentCtx);
}
}
return null;
}
-}
\ No newline at end of file
+}