package org.gbif.checklistbank.nub.model;
public class NubUsageMatch {
public final NubUsage usage;
public final boolean ignore;
public final NubUsage doubtfulUsage;
private NubUsageMatch(NubUsage usage, boolean ignore, NubUsage doubtfulUsage) {
this.usage = usage;
this.ignore = ignore;
this.doubtfulUsage = doubtfulUsage;
}
public static NubUsageMatch match(NubUsage usage) {
return new NubUsageMatch(usage, false, null);
}
/**
* Snaps to a usage but flag it to be ignored in immediate processing.
*/
public static NubUsageMatch snap(NubUsage usage) {
return new NubUsageMatch(usage, true, null);
}
public static NubUsageMatch empty() {
return new NubUsageMatch(null, false, null);
}
public static NubUsageMatch empty(NubUsage doubtfulUsage) {
return new NubUsageMatch(null, false, doubtfulUsage);
}
public boolean isMatch() {
return usage != null;
}
}