package org.jabref.logic.autocompleter;
import java.util.HashMap;
import java.util.Map;
import org.jabref.model.database.BibDatabase;
import org.jabref.model.entry.BibEntry;
class AutoCompleters {
protected final Map<String, AutoCompleter<String>> autoCompleters = new HashMap<>();
// Hashtable that holds as keys the names of the fields where
// autocomplete is active, and references to the autocompleter objects.
public AutoCompleter<String> get(String fieldName) {
return autoCompleters.get(fieldName);
}
protected void addDatabase(BibDatabase database) {
for (BibEntry entry : database.getEntries()) {
addEntry(entry);
}
}
/**
* This methods assures all words in the given entry are recorded in their
* respective Completers, if any.
*/
public void addEntry(BibEntry bibEntry) {
for (AutoCompleter<String> autoCompleter : autoCompleters.values()) {
autoCompleter.addBibtexEntry(bibEntry);
}
}
protected void put(String field, AutoCompleter<String> autoCompleter) {
autoCompleters.put(field, autoCompleter);
}
}