001package org.gbif.api.model.collections.descriptors;
002
003import java.util.ArrayList;
004import java.util.List;
005
006import lombok.Builder;
007import lombok.Data;
008
009/**
010 * Result class for descriptor vocabulary validation that allows graceful handling
011 * of invalid values by leaving fields blank rather than failing the entire operation.
012 */
013@Data
014@Builder
015public class DescriptorValidationResult {
016  private String validBiomeType;
017  private String validObjectClassification;
018  @Builder.Default
019  private List<String> issues = new ArrayList<>();
020
021  public void addIssue(String issue) {
022    if (issues == null) {
023      issues = new ArrayList<>();
024    }
025    issues.add(issue);
026  }
027
028  public boolean hasIssues() {
029    return issues != null && !issues.isEmpty();
030  }
031}