package org.jabref.gui.customentrytypes;
import java.util.List;
import java.util.stream.Collectors;
import org.jabref.model.EntryTypes;
import org.jabref.model.database.BibDatabaseMode;
import org.jabref.model.entry.CustomEntryType;
import org.jabref.preferences.JabRefPreferences;
public class CustomEntryTypesManager {
private CustomEntryTypesManager() {
}
/**
* Iterate through all entry types, and store those that are
* custom defined to preferences. This method is called from
* JabRefFrame when the program closes.
*/
public static void saveCustomEntryTypes(JabRefPreferences prefs) {
saveCustomEntryTypes(prefs, BibDatabaseMode.BIBTEX);
saveCustomEntryTypes(prefs, BibDatabaseMode.BIBLATEX);
}
private static void saveCustomEntryTypes(JabRefPreferences prefs, BibDatabaseMode mode) {
List<CustomEntryType> customBiblatexTypes = EntryTypes.getAllValues(mode).stream()
.filter(type -> type instanceof CustomEntryType)
.map(entryType -> (CustomEntryType) entryType).collect(Collectors.toList());
prefs.storeCustomEntryTypes(customBiblatexTypes, mode);
}
}