class CachingNormalizedNodeCodec<D extends DataObject> extends AbstractBindingNormalizedNodeCacheHolder implements
BindingNormalizedNodeCachingCodec<D> {
-
private final DataContainerCodecContext<D, ?> context;
CachingNormalizedNodeCodec(final DataContainerCodecContext<D, ?> subtreeRoot,
@Override
public NormalizedNode<?, ?> serialize(final D data) {
- return CachingNormalizedNodeSerializer.serialize(this, context, data);
+ // Serialize data using stream writer with child cache enable or using the cache if it is available
+ final DataObjectNormalizedNodeCache cache = getCachingSerializer(context);
+ return cache == null ? CachingNormalizedNodeSerializer.serializeUsingStreamWriter(this, context, data)
+ : cache.get(data);
}
@Override
public void close() {
// NOOP as of now.
}
-
}