package mil.nga.giat.geowave.datastore.accumulo;
import java.util.EnumSet;
import java.util.Map;
import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
public class IteratorConfig
{
private final EnumSet<IteratorScope> scopes;
private final int iteratorPriority;
private final String iteratorName;
private final String iteratorClass;
private final OptionProvider optionProvider;
public IteratorConfig(
final EnumSet<IteratorScope> scopes,
final int iteratorPriority,
final String iteratorName,
final String iteratorClass,
final OptionProvider optionProvider ) {
this.scopes = scopes;
this.iteratorPriority = iteratorPriority;
this.iteratorName = iteratorName;
this.iteratorClass = iteratorClass;
this.optionProvider = optionProvider;
}
public EnumSet<IteratorScope> getScopes() {
return scopes;
}
public int getIteratorPriority() {
return iteratorPriority;
}
public String getIteratorName() {
return iteratorName;
}
public String getIteratorClass() {
return iteratorClass;
}
public Map<String, String> getOptions(
final Map<String, String> existingOptions ) {
return optionProvider.getOptions(existingOptions);
}
public static interface OptionProvider
{
public Map<String, String> getOptions(
Map<String, String> existingOptions );
}
}