/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.search.engine.impl;
import org.hibernate.search.indexes.impl.DynamicShardingStrategy;
import org.hibernate.search.indexes.impl.IndexManagerGroupHolder;
import org.hibernate.search.indexes.interceptor.EntityIndexingInterceptor;
import org.hibernate.search.indexes.spi.IndexManager;
import org.hibernate.search.store.ShardIdentifierProvider;
/**
* @author Emmanuel Bernard
*/
public class DynamicShardingEntityIndexBinding extends AbstractMutableEntityIndexBinding {
private final DynamicShardingStrategy shardingStrategy;
public DynamicShardingEntityIndexBinding(
IndexManagerGroupHolder indexManagerGroupHolder,
DynamicShardingStrategy shardingStrategy,
EntityIndexingInterceptor<?> entityIndexingInterceptor) {
super( indexManagerGroupHolder, entityIndexingInterceptor );
this.shardingStrategy = shardingStrategy;
}
@Override
public DynamicShardingStrategy getSelectionStrategy() {
return shardingStrategy;
}
@Override
public ShardIdentifierProvider getShardIdentifierProvider() {
return shardingStrategy.getShardIdentifierProvider();
}
@Override
public IndexManager[] getIndexManagers() {
return shardingStrategy.getIndexManagersForAllShards();
}
}