package org.infinispan.query.indexmanager;
/**
* Alternative implementation to the ClusteredSwitchingBackend, meant
* to be used for non-clustered caches: much simpler as we have no
* states nor transitions to manage.
*
* @author Sanne Grinovero <sanne@hibernate.org> (C) 2014 Red Hat Inc.
* @since 7.0
*/
public class LocalOnlyBackend implements SwitchingBackend {
private IndexingBackend localIndexingBackend;
private LocalBackendFactory factory;
public LocalOnlyBackend(LocalBackendFactory factory) {
this.factory = factory;
}
@Override
public void initialize() {
this.localIndexingBackend = factory.createLocalIndexingBackend();
this.factory = null;
}
@Override
public IndexingBackend getCurrentIndexingBackend() {
return localIndexingBackend;
}
@Override
public void refresh() {
// no op
}
@Override
public void shutdown() {
localIndexingBackend.flushAndClose(null);
}
}