io.sirix.access.GenericResourceSessionComponent Maven / Gradle / Ivy
package io.sirix.access;
import dagger.BindsInstance;
import io.sirix.cache.BufferManager;
import io.sirix.api.ResourceSession;
import java.nio.file.Path;
/**
* An interface that aggregates all the common logic between {@link ResourceSession} subcomponents.
*
* @author Joao Sousa
*/
public interface GenericResourceSessionComponent> {
R resourceManager();
interface Builder, R extends ResourceSession, ?>, C extends GenericResourceSessionComponent> {
@BindsInstance
B resourceConfig(ResourceConfiguration resourceConfiguration);
@BindsInstance
B bufferManager(BufferManager bufferManager);
@BindsInstance
B resourceFile(Path resourceFile);
C build();
}
}