K - the key type processed by this loader-writerV - the value type processed by this loader-writerpublic interface CacheLoaderWriter<K,V>
Cache in sync with another system.
 Instances of this class should be thread safe.
 Any Exception thrown by the loading methods of this interface will be wrapped into a
 CacheLoadingException by the Cache and will need to be handled by
 the user. Any java.lang.Exception thrown by the writing methods will
 be wrapped into a CacheWritingException.
 
A similar thing will happen for the bulk version of the loading and writing methods and create the bulk version of the related exceptions.
| Modifier and Type | Method and Description | 
|---|---|
| void | delete(K key)Deletes a single mapping. | 
| default void | deleteAll(java.lang.Iterable<? extends K> keys)Deletes multiple mappings. | 
| V | load(K key)Loads a single value. | 
| default java.util.Map<K,V> | loadAll(java.lang.Iterable<? extends K> keys)Loads multiple values. | 
| void | write(K key,
     V value)Writes a single mapping. | 
| default void | writeAll(java.lang.Iterable<? extends java.util.Map.Entry<? extends K,? extends V>> entries)Writes multiple mappings. | 
V load(K key) throws java.lang.Exception
 When used with a cache any exception thrown by this method will be thrown
 back to the user as a CacheLoadingException.
key - the key for which to load the valuejava.lang.Exception - if the value cannot be loadeddefault java.util.Map<K,V> loadAll(java.lang.Iterable<? extends K> keys) throws BulkCacheLoadingException, java.lang.Exception
 The returned Map should contain null values for the keys
 that could not be found.
 
 When used with a cache the mappings that will be installed are the keys as found in keys
 mapped to the results of loadAllResult.get(key). Any other mappings will be ignored.
 
 By using a BulkCacheLoadingException implementors can report partial success. Any other exceptions will
 be thrown back to the Cache user through a BulkCacheLoadingException indicating a complete failure.
keys - the keys to load
 //Which null or not present?Map of values for each key passed in, where no mapping means no value to map.BulkCacheLoadingException - in case of partial successjava.lang.Exception - in case no values could be loadedvoid write(K key, V value) throws java.lang.Exception
The write may represent a brand new value or an update to an existing value.
 When used with a Cache any exception thrown by this method will
 be thrown back to the user through a CacheWritingException.
key - the key to writevalue - the value to writejava.lang.Exception - if the write operation faileddefault void writeAll(java.lang.Iterable<? extends java.util.Map.Entry<? extends K,? extends V>> entries) throws BulkCacheWritingException, java.lang.Exception
The writes may represent a mix of brand new values and updates to existing values.
 By using a BulkCacheWritingException implementors can report partial success. Any other exception will
 be thrown back to the Cache user through a BulkCacheWritingException indicating a complete failure.
entries - the mappings to writeBulkCacheWritingException - in case of partial successjava.lang.Exception - in case no values could be writtenvoid delete(K key) throws java.lang.Exception
key - the key to deletejava.lang.Exception - if the write operation faileddefault void deleteAll(java.lang.Iterable<? extends K> keys) throws BulkCacheWritingException, java.lang.Exception
 By using a BulkCacheWritingException implementors can report partial success. Any other exception will
 be thrown back to the Cache user through a BulkCacheWritingException indicating all deletes failed.
keys - the keys to deleteBulkCacheWritingException - in case of partial successjava.lang.Exception - in case no values can be loaded