/*
 * Copyright (C) 2025  Tim Zimmermann <tim@aglais.org>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package org.aglais.zms.gbif;

/**
 * Class representing GBIF species data
 *
 * @param usageKey       The usage key associated with this species
 * @param scientificName The scientific name of the species
 * @param canonicalName  The canonical name of the species
 * @param rank           The taxonomic rank of the species
 * @param status         The status of the species
 * @param confidence     The confidence level of this species match
 * @param matchType      The match type associated with this species data
 * @param kingdom        The kingdom of the species
 * @param phylum         The phylum of the species
 * @param order          The order name of the species
 * @param family         The family name of the species
 * @param genus          The genus of the species
 * @param species        The species name
 * @param kingdomKey     The key associated with this species' kingdom
 * @param phylumKey      The key associated with this species' phylum
 * @param classKey       The key associated with this species' class
 * @param orderKey       The key associated with this species' order
 * @param familyKey      The key associated with this species' family
 * @param genusKey       The key associated with this species' genus
 * @param speciesKey     The key associated with this species
 * @param synonym        True if the species is a synonym, false otherwise
 * @param class_         The species' class name
 */
public record GBIFSpeciesMatch(
        int usageKey, String scientificName, String canonicalName, String rank, String status,
        int confidence, String matchType, String kingdom, String phylum, String order,
        String family, String genus, String species, int kingdomKey, int phylumKey, int classKey,
        int orderKey, int familyKey, int genusKey, int speciesKey, boolean synonym,
        String class_) {
}
