package org.infinispan.persistence.spi; import org.infinispan.Cache; import org.infinispan.commons.io.ByteBufferFactory; import org.infinispan.commons.marshall.StreamingMarshaller; import org.infinispan.configuration.cache.StoreConfiguration; import org.infinispan.marshall.core.MarshalledEntryFactory; import org.infinispan.util.TimeService; import net.jcip.annotations.ThreadSafe; /** * Aggregates the initialisation state needed by either a {@link CacheLoader} or a {@link CacheWriter}. * * @author Mircea Markus * @since 6.0 */ @ThreadSafe public interface InitializationContext { <T extends StoreConfiguration> T getConfiguration(); Cache getCache(); StreamingMarshaller getMarshaller(); TimeService getTimeService(); /** * To be used for building {@link org.infinispan.commons.io.ByteBuffer} objects. */ ByteBufferFactory getByteBufferFactory(); /** * To be used for building {@link org.infinispan.marshall.core.MarshalledEntry} objects. */ MarshalledEntryFactory getMarshalledEntryFactory(); }