001package org.gbif.api.service.occurrence;
002
003import org.gbif.api.vocabulary.Country;
004
005import java.util.Map;
006
007/**
008 * Supports the listing of countries having occurrence records.
009 */
010public interface OccurrenceCountryIndexService {
011
012  /**
013   * Lists all publishing countries of occurrences falling within a given country.
014   * @param country the country the occurrences fall into
015   * @return map of publishing country to number of occurrences ordered by number of occurrences
016   */
017  Map<Country, Long> publishingCountriesForCountry(Country country);
018
019  /**
020   * Lists all countries occurrences are falling into that have been published by a given country.
021   * @return map of countries to number of occurrences ordered by number of occurrences
022   */
023  Map<Country, Long> countriesForPublishingCountry(Country publishingCountry);
024}