name-parser/src/main/java/org/gbif/nameparser/ParsingJob.java
/**
   * Fully parse the supplied name also trying to extract authorships, a conceptual sec reference, remarks or notes
   * on the nomenclatural status. In some cases the authorship parsing proves impossible and this nameparser will
   * return null.
   *
   * For strings which are no scientific names and scientific names that cannot be expressed by the ParsedName class
   * the parser will throw an UnparsableException with a given NameType and the original, unparsed name. This is the
   * case for all virus names and proper hybrid formulas, so make sure you catch and process this exception.
   *
   * @throws UnparsableNameException
   */
Fully parse the supplied name also trying to extract authorships, a conceptual sec reference, remarks or notes
on the nomenclatural status. In some cases the authorship parsing proves impossible and this nameparser will
return null.

For strings which are no scientific names and scientific names that cannot be expressed by the ParsedName class
the parser will throw an UnparsableException with a given NameType and the original, unparsed name. This is the
case for all virus names and proper hybrid formulas, so make sure you catch and process this exception.


Fully parse the supplied name also trying to extract authorships a conceptual sec reference remarks or notes on the nomenclatural status . In some cases the authorship parsing proves impossible and this nameparser will return null . For strings which are no scientific names and scientific names that cannot be expressed by the ParsedName class the parser will throw an UnparsableException with a given NameType and the original unparsed name . This is the case for all virus names and proper hybrid formulas so make sure you catch and process this exception .
@Override
  public ParsedName call() throws UnparsableNameException, InterruptedException {
    long start = 0;
    if (LOG.isDebugEnabled()) {
      start = System.currentTimeMillis();
    }
    name = preClean(scientificName);
    if (!specialCases()) {
      parse();
    }
    if (LOG.isDebugEnabled()) {
      LOG.debug("Parsing time: {} for {}", (System.currentTimeMillis() - start), pn);
    }
    return pn;
  }
@ Override public ParsedName call ( ) throws UnparsableNameException , InterruptedException { long start = 0 ; if ( LOG . isDebugEnabled ( ) ) { start = System . currentTimeMillis ( ) ; } name = preClean ( scientificName ) ; if ( ! specialCases ( ) ) { parse ( ) ; } if ( LOG . isDebugEnabled ( ) ) { LOG . debug ( "Parsing time: {} for {}" , ( System . currentTimeMillis ( ) - start ) , pn ) ; } return pn ; }
Fully parse the supplied name also trying to extract authorships, a conceptual sec reference, remarks or notes
 on the nomenclatural status.
Fully parse the supplied name also trying to extract authorships a conceptual sec reference remarks or notes on the nomenclatural status .
// clean name, removing seriously wrong things // before further cleaning/parsing try if we have known OTU formats, i.e. BIN or SH numbers // test for special cases they do not need any further parsing // do the main incremental parsing