import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yangtools.yang.binding.BindingObject;
import org.opendaylight.yangtools.yang.binding.BindingStreamEventWriter;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
* @return Codec which uses cache for serialization / deserialization.
*/
@NonNull BindingNormalizedNodeCachingCodec<T> createCachingCodec(
- @NonNull ImmutableCollection<Class<? extends DataObject>> cacheSpecifier);
+ @NonNull ImmutableCollection<Class<? extends BindingObject>> cacheSpecifier);
@Beta
void writeAsNormalizedNode(T data, NormalizedNodeStreamWriter writer);
package org.opendaylight.mdsal.binding.dom.codec.api;
import com.google.common.annotations.Beta;
-import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.BindingObject;
/**
* Caching variant of Binding to Normalized Node codec. Caching may introduce performance penalty to serialization and
* @param <T> Binding representtion of data
*/
@Beta
-public interface BindingNormalizedNodeCachingCodec<T extends DataObject> extends BindingNormalizedNodeCodec<T>,
+public interface BindingNormalizedNodeCachingCodec<T extends BindingObject> extends BindingNormalizedNodeCodec<T>,
AutoCloseable {
/**
* Invoking close will invalidate this codec and any of its child codecs and will invalidate cache. Any subsequent
import com.google.common.cache.LoadingCache;
import com.google.common.collect.ImmutableSet;
import org.opendaylight.yangtools.yang.binding.BindingObject;
-import org.opendaylight.yangtools.yang.binding.DataObject;
/**
* Abstract Holder of Binding to Normalized Node caches indexed by {@link DataContainerCodecContext} to which cache is
return new DataObjectNormalizedNodeCache(AbstractBindingNormalizedNodeCacheHolder.this, key);
}
});
- private final ImmutableSet<Class<? extends DataObject>> cacheSpec;
+ private final ImmutableSet<Class<? extends BindingObject>> cacheSpec;
- AbstractBindingNormalizedNodeCacheHolder(final ImmutableSet<Class<? extends DataObject>> cacheSpec) {
+ AbstractBindingNormalizedNodeCacheHolder(final ImmutableSet<Class<? extends BindingObject>> cacheSpec) {
this.cacheSpec = requireNonNull(cacheSpec);
}
import com.google.common.collect.ImmutableSet;
import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeCachingCodec;
+import org.opendaylight.yangtools.yang.binding.BindingObject;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
private final DataContainerCodecContext<D, ?> context;
CachingNormalizedNodeCodec(final DataContainerCodecContext<D, ?> subtreeRoot,
- final ImmutableSet<Class<? extends DataObject>> cacheSpec) {
+ final ImmutableSet<Class<? extends BindingObject>> cacheSpec) {
super(cacheSpec);
this.context = requireNonNull(subtreeRoot);
}
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.mdsal.binding.dom.codec.api.BindingDataObjectCodecTreeNode;
import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeCachingCodec;
+import org.opendaylight.yangtools.yang.binding.BindingObject;
import org.opendaylight.yangtools.yang.binding.BindingStreamEventWriter;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.DataObjectSerializer;
@Override
public BindingNormalizedNodeCachingCodec<D> createCachingCodec(
- final ImmutableCollection<Class<? extends DataObject>> cacheSpecifier) {
+ final ImmutableCollection<Class<? extends BindingObject>> cacheSpecifier) {
if (cacheSpecifier.isEmpty()) {
return new NonCachingCodec<>(this);
}