当前位置: 首页>>代码示例>>Java>>正文


Java Rank.isInfraspecific方法代码示例

本文整理汇总了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;
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:21,代码来源:RankUtils.java

示例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);
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:52,代码来源:NubMatchingServiceImpl.java

示例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()));
        }

      }
    }
  }
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:63,代码来源:NubMatchingServiceImplIT.java


注:本文中的org.gbif.api.vocabulary.Rank.isInfraspecific方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。