package org.jabref.logic.importer; import java.util.Optional; import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.identifier.Identifier; /** * Looks for article identifier based on already present bibliographic information. */ public interface IdFetcher<T extends Identifier> extends WebFetcher { /** * Looks for an identifier based on the information stored in the given {@link BibEntry}. * * @param entry the {@link BibEntry} for which an identifier should be found * @return the identifier (if an ID was found, otherwise an empty {@link Optional}) */ Optional<T> findIdentifier(BibEntry entry) throws FetcherException; /** * Returns the name of the identifier that is returned by this fetcher. */ String getIdentifierName(); }