package org.jabref.logic.autocompleter; import java.util.List; import java.util.Objects; import org.jabref.logic.journals.Abbreviation; import org.jabref.logic.journals.JournalAbbreviationLoader; import org.jabref.logic.journals.JournalAbbreviationPreferences; public class JournalAutoCompleter extends EntireFieldAutoCompleter { private final JournalAbbreviationLoader abbreviationLoader; private final JournalAbbreviationPreferences journalAbbreviationPreferences; JournalAutoCompleter(String fieldName, AutoCompletePreferences preferences, JournalAbbreviationLoader abbreviationLoader) { super(fieldName, preferences); this.abbreviationLoader = Objects.requireNonNull(abbreviationLoader); this.journalAbbreviationPreferences = preferences.getJournalAbbreviationPreferences(); } @Override public List<String> complete(String toComplete) { List<String> completions = super.complete(toComplete); // Also return journal names in the journal abbreviation list for (Abbreviation abbreviation : abbreviationLoader .getRepository(journalAbbreviationPreferences).getAbbreviations()) { if (abbreviation.getName().startsWith(toComplete)) { completions.add(abbreviation.getName()); } } return completions; } }