package org.infinispan.jcache.embedded; import javax.cache.integration.CacheWriter; import org.infinispan.jcache.Exceptions; import org.infinispan.jcache.JCacheEntry; import org.infinispan.marshall.core.MarshalledEntry; import org.infinispan.persistence.spi.InitializationContext; public class JCacheWriterAdapter<K, V> implements org.infinispan.persistence.spi.CacheWriter { private CacheWriter<? super K, ? super V> delegate; public JCacheWriterAdapter() { // Empty constructor required so that it can be instantiated with // reflection. This is a limitation of the way the current cache // loader configuration works. } public void setCacheWriter(CacheWriter<? super K, ? super V> delegate) { this.delegate = delegate; } @Override public void init(InitializationContext ctx) { } @Override public void write(MarshalledEntry entry) { try { delegate.write(new JCacheEntry(entry.getKey(), entry.getValue())); } catch (Exception e) { throw Exceptions.launderCacheWriterException(e); } } @Override public boolean delete(Object key) { try { delegate.delete(key); } catch (Exception e) { throw Exceptions.launderCacheWriterException(e); } return false; } @Override public void start() { } @Override public void stop() { } }