package org.jabref.logic.importer;

import java.util.Optional;

import org.jabref.model.entry.BibEntry;

/// Searches web resources for bibliographic information based on an identifier.
/// Examples are ISBN numbers and DOIs.
public interface IdBasedFetcher extends WebFetcher {

    /// Looks for bibliographic information associated to the given identifier.
    ///
    /// @param identifier a string which uniquely identifies the item
    /// @return a {@link BibEntry} containing the bibliographic information (or an empty optional if no data was found)
    Optional<BibEntry> performSearchById(String identifier) throws FetcherException;
}
