package org.jabref.model.groups; import java.util.Collections; import java.util.List; import org.jabref.model.FieldChange; import org.jabref.model.entry.BibEntry; /** * Some groups can change entries so that they match (or no longer match) the group. * This functionality is encoded in this interface. */ public interface GroupEntryChanger { /** * Adds the specified entries to this group. * * @return If this group or one or more entries was/were modified as a * result of this operation, a list of changes is returned. */ List<FieldChange> add(List<BibEntry> entriesToAdd); default List<FieldChange> add(BibEntry entryToAdd) { return add(Collections.singletonList(entryToAdd)); } /** * Removes the specified entries from this group. * * @return If this group or one or more entries was/were modified as a * result of this operation, a list of changes is returned. */ List<FieldChange> remove(List<BibEntry> entriesToRemove); default List<FieldChange> remove(BibEntry entryToAdd) { return remove(Collections.singletonList(entryToAdd)); } }