本文整理汇总了Java中org.gbif.api.vocabulary.Rank.isInfraspecific方法的典型用法代码示例。如果您正苦于以下问题:Java Rank.isInfraspecific方法的具体用法?Java Rank.isInfraspecific怎么用?Java Rank.isInfraspecific使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.gbif.api.vocabulary.Rank
的用法示例。
在下文中一共展示了Rank.isInfraspecific方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: match
import org.gbif.api.vocabulary.Rank; //导入方法依赖的package包/类
/**
* @return true if the ranks given do not contradict each other
*/
public static boolean match(Rank r1, Rank r2) {
if (r1 == null || r1 == Rank.UNRANKED ||
r2 == null || r2 == Rank.UNRANKED) return true;
if (r1 == Rank.INFRASPECIFIC_NAME) {
return r2.isInfraspecific();
} else if (r1 == Rank.INFRASUBSPECIFIC_NAME) {
return r2.isInfraspecific() && r2 != Rank.SUBSPECIES;
} else if (r2 == Rank.INFRASPECIFIC_NAME) {
return r1.isInfraspecific();
} else if (r2 == Rank.INFRASUBSPECIFIC_NAME) {
return r1.isInfraspecific() && r1 != Rank.SUBSPECIES;
}
return r1 == r2;
}
示例2: rankSimilarity
import org.gbif.api.vocabulary.Rank; //导入方法依赖的package包/类
private int rankSimilarity(Rank query, Rank ref) {
int similarity = 0;
if (ref != null) {
// rate ranks lower that are not represented in the canonical, e.g. cultivars
if (ref.isRestrictedToCode() == NomenclaturalCode.CULTIVARS) {
similarity -= 7;
} else if (Rank.STRAIN == ref) {
similarity -= 7;
}
if (ref.isUncomparable()) {
// this also includes informal again
similarity -= 3;
}
if (query != null) {
// both ranks exist. Compare directly
if (query.equals(ref)) {
similarity += 10;
} else if (Rank.INFRASPECIFIC_NAME == query && ref.isInfraspecific()
|| Rank.INFRASPECIFIC_NAME == ref && query.isInfraspecific()) {
// unspecific infraspecific rank
similarity += 5;
} else if (Rank.INFRASUBSPECIFIC_NAME == query && ref.isInfraspecific() && ref != Rank.SUBSPECIES
|| Rank.INFRASUBSPECIFIC_NAME == ref && query.isInfraspecific() && query != Rank.SUBSPECIES) {
// unspecific infrasubspecific rank
similarity += 5;
} else if (query.isUncomparable()) {
// uncomparable query ranks
similarity -= 5;
} else if (ref == Rank.SPECIES && query.isInfraspecific() || ref.isSupraspecific() && query.isSpeciesOrBelow()
|| query == Rank.SPECIES && ref.isInfraspecific() || query.isSupraspecific() && ref.isSpeciesOrBelow()) {
// not good, different number of epithets means rather unalike
similarity -= 25;
} else {
// rate lower the further away the ranks are
similarity -= Math.abs(ref.ordinal() - query.ordinal());
}
}
} else if (query != null) {
// reference has no rank, rate it lower
similarity -= 1;
}
return minMax(-25, 5, similarity);
}
示例3: assertMatchConsistency
import org.gbif.api.vocabulary.Rank; //导入方法依赖的package包/类
static void assertMatchConsistency(NameUsageMatch match) {
assertNotNull(match.getConfidence());
assertNotNull(match.getMatchType());
if (NameUsageMatch.MatchType.NONE == match.getMatchType()) {
assertNull(match.getUsageKey());
assertNull(match.getScientificName());
assertNull(match.getSpeciesKey());
assertNull(match.getGenusKey());
assertNull(match.getFamilyKey());
assertNull(match.getOrderKey());
assertNull(match.getClassKey());
assertNull(match.getPhylumKey());
assertNull(match.getKingdomKey());
assertNull(match.getSpecies());
assertNull(match.getGenus());
assertNull(match.getFamily());
assertNull(match.getOrder());
assertNull(match.getClazz());
assertNull(match.getPhylum());
assertNull(match.getKingdom());
} else {
assertNotNull(match.getUsageKey());
assertNotNull(match.getScientificName());
if (match.getRank() != null) {
Rank rank = match.getRank();
if (rank.isSuprageneric()) {
assertNull(match.getSpecies());
assertNull(match.getSpeciesKey());
assertNull(match.getGenus());
assertNull(match.getGenusKey());
} else if (rank == Rank.GENUS) {
assertNotNull(match.getGenus());
assertNull(match.getSpecies());
assertNull(match.getSpeciesKey());
} else if (rank == Rank.SPECIES) {
assertNotNull(match.getGenus());
assertNotNull(match.getSpecies());
assertNotNull(match.getSpeciesKey());
if (!match.isSynonym()) {
assertEquals(match.getUsageKey(), match.getSpeciesKey());
assertTrue(match.getScientificName().startsWith(match.getSpecies()));
}
} else if (rank.isInfraspecific()) {
assertNotNull(match.getGenus());
assertNotNull(match.getSpecies());
assertNotNull(match.getSpeciesKey());
if (!match.isSynonym()) {
assertFalse(match.getUsageKey().equals(match.getSpeciesKey()));
assertTrue(match.getScientificName().startsWith(match.getSpecies()));
}
}
}
}
}