package org.solbase.cache; import java.io.IOException; import java.io.Serializable; import org.solbase.lucenehbase.IndexWriter; public interface CachedObjectLoader<K extends Serializable & Comparable<?>, V extends Serializable, Z extends Serializable, M extends Serializable> { public CachedObjectWrapper<V, Z> loadObject(K key, int start, int end, LayeredCache<K,V,Z, M> cache) throws IOException; public void updateObject(CachedObjectWrapper<V, Z> object, M modificationdData, LayeredCache<K,V,Z,M> cache, LayeredCache.ModificationType modType, int startDocId, int endDocId) throws IOException; public void updateObjectStore(K key, M modificationdData, IndexWriter writer, LayeredCache<K,V,Z,M> cache, LayeredCache.ModificationType modType, int startDocId, int endDocId) throws IOException; public Z getVersionIdentifier(K key, int startDocId, int endDocId) throws IOException; }