public class DataObjectCache<K,V extends org.opendaylight.yangtools.yang.binding.DataObject> extends Object implements AutoCloseable
Constructor and Description |
---|
DataObjectCache(Class<V> dataObjectClass,
org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<V> listenerRegistrationPath,
org.opendaylight.infrautils.caches.CacheProvider cacheProvider,
BiFunction<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<V>,V,K> keyFunction,
Function<K,org.opendaylight.yangtools.yang.binding.InstanceIdentifier<V>> instanceIdFunction)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
added(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<V> path,
V dataObject) |
protected void |
checkIsClosed() |
void |
close() |
com.google.common.base.Optional<V> |
get(K key)
Gets the DataObject for the given key.
|
Collection<V> |
getAllPresent()
Gets all DataObjects currently in the cache.
|
protected void |
removed(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<V> path,
V dataObject) |
public DataObjectCache(Class<V> dataObjectClass, org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<V> listenerRegistrationPath, org.opendaylight.infrautils.caches.CacheProvider cacheProvider, BiFunction<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<V>,V,K> keyFunction, Function<K,org.opendaylight.yangtools.yang.binding.InstanceIdentifier<V>> instanceIdFunction)
dataObjectClass
- the DataObject class to cachedataBroker
- the DataBrokerdatastoreType
- the LogicalDatastoreTypelistenerRegistrationPath
- the yang path for which register the listenercacheProvider
- the CacheProvider used to instantiate the CachekeyFunction
- the function used to convert or extract the key instance on change notificationinstanceIdFunction
- the function used to convert a key instance to an InstanceIdentifier on read@PreDestroy public void close()
close
in interface AutoCloseable
protected void checkIsClosed() throws org.opendaylight.controller.md.sal.common.api.data.ReadFailedException
org.opendaylight.controller.md.sal.common.api.data.ReadFailedException
@Nonnull public com.google.common.base.Optional<V> get(@Nonnull K key) throws org.opendaylight.controller.md.sal.common.api.data.ReadFailedException
key
- identifies the DataObject to queryorg.opendaylight.controller.md.sal.common.api.data.ReadFailedException
- if that data isn't cached and the read to fetch it fails@Nonnull public Collection<V> getAllPresent()
protected void added(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<V> path, V dataObject)
Copyright © 2019 OpenDaylight. All rights reserved.