001package org.gbif.api.model.collections.descriptors;
002
003import java.io.Serializable;
004import java.util.ArrayList;
005import java.util.Date;
006import java.util.HashMap;
007import java.util.List;
008import java.util.Map;
009
010import lombok.Builder;
011import lombok.Data;
012import org.gbif.api.v2.RankedName;
013import org.gbif.api.vocabulary.Country;
014
015@Data
016public class Descriptor implements Serializable {
017
018  private long key;
019  private Long descriptorGroupKey;
020  private String usageKey;
021  private String usageName;
022  private String usageRank;
023  private Country country;
024  private Integer individualCount;
025  private List<String> identifiedBy;
026  private Date dateIdentified;
027  private List<String> typeStatus;
028  private List<String> recordedBy;
029  private String discipline;
030  private String objectClassification;
031  private String biome;
032  private String biomeType;
033  private List<RankedName> taxonClassification;
034  private String defaultChecklistKey;
035  private Map<String, OtherTaxonClassification> otherTaxonClassifications;
036  private List<String> issues = new ArrayList<>();
037  private Map<String, String> verbatim = new HashMap<>();
038
039  @Builder
040  @Data
041  public static class OtherTaxonClassification {
042    private String usageKey;
043    private String usageName;
044    private String usageRank;
045    @Builder.Default
046    private List<RankedName> classification = new ArrayList<>();
047    @Builder.Default
048    private List<String> issues = new ArrayList<>();
049  }
050
051}