public class InMemoryTaxonomyDatabase extends Object implements TaxonomyDatabase
List based in-memory "database". NOT THREAD-SAFE!| Modifier and Type | Field and Description |
|---|---|
static double |
NONMATCH_MARGIN |
| Constructor and Description |
|---|
InMemoryTaxonomyDatabase() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
containsGenus(String genus)
Case insensitive search for genus.
|
boolean |
containsSpecies(String genus,
String species)
Does the database contain at least one record that exactly matches specified genus and species?.
|
boolean |
containsSubtaxa(String genus,
String species,
String subtaxa)
Does the database contain at least one record that exactly matches specified genus, species and subtaxa?.
|
List<String> |
findSimilarGenus(String genus,
int maxSize)
Return a list of genera close to the specified genus.
|
List<String> |
findSimilarSpecies(String genus,
String species,
int maxSize)
Return a list of species close to the specified genus and species.
|
List<String> |
findSimilarSubtaxa(String genus,
String species,
String subtaxa,
int maxSize)
Suggest a list of subtaxa
|
List<SpeciesRow> |
findSpeciesRow(String genus,
String species,
String subtaxa)
Find SpeciesRows matching the definition
|
protected List<SpeciesRow> |
getAllGenusSpecies(String genus)
Gets the all genus species.
|
String |
getGenus(long genusId)
Get genus by genusId
|
String |
getSpeciesAuthority(String genus,
String species)
Return the species authority for the specified species within genus.
|
SpeciesRow |
getSpeciesRow(long speciesId)
Get species by speciesId
|
String |
getSubtaxaAuthority(String genus,
String species,
String subtaxa)
Return the authority for the specified subtaxa
|
List<SpeciesRow> |
listSpecies(String genus,
String species,
int maxSize)
Return all subtaxa for genus and species
|
static void |
print(Object suggestion)
Prints the.
|
static <T> void |
print(Suggestion<T> suggestion)
Prints the.
|
void |
registerGenus(Long genusId,
String genus)
Add a genus to the database.
|
void |
registerSpecies(SpeciesRow speciesRow)
Add species to the database.
|
double |
similarityScore(String original,
String candidate)
similarityScore returns a string similarity value in the range [0, 1.0] (where 1.0 is full match).
|
String |
toString() |
public static final double NONMATCH_MARGIN
public void registerGenus(Long genusId, String genus)
genusId - the genus idgenus - the genuspublic void registerSpecies(SpeciesRow speciesRow) throws TaxonomyException
speciesRow - the species rowTaxonomyException - the taxonomy exceptionpublic boolean containsGenus(String genus)
containsGenus in interface TaxonomyDatabasegenus - the genuspublic List<String> findSimilarGenus(String genus, int maxSize)
TaxonomyDatabasefindSimilarGenus in interface TaxonomyDatabasegenus - genusmaxSize - TODOpublic static <T> void print(Suggestion<T> suggestion)
T - the generic typesuggestion - the suggestionpublic static void print(Object suggestion)
suggestion - the suggestionprotected List<SpeciesRow> getAllGenusSpecies(String genus)
genus - the genuspublic boolean containsSpecies(String genus, String species)
TaxonomyDatabasecontainsSpecies in interface TaxonomyDatabasegenus - the genusspecies - the speciestrue if there is at least one recordpublic List<String> findSimilarSpecies(String genus, String species, int maxSize)
TaxonomyDatabasefindSimilarSpecies in interface TaxonomyDatabasegenus - valid genusspecies - speciesmaxSize - maximum number of suggestions to returnpublic double similarityScore(String original, String candidate)
similarityScore in interface TaxonomyDatabaseoriginal - the originalcandidate - the candidatepublic String getSpeciesAuthority(String genus, String species)
TaxonomyDatabasegetSpeciesAuthority in interface TaxonomyDatabasegenus - the genusspecies - the speciesnullpublic boolean containsSubtaxa(String genus, String species, String subtaxa)
TaxonomyDatabasecontainsSubtaxa in interface TaxonomyDatabasegenus - valid genusspecies - valid speciessubtaxa - subtaxa to checktrue if there is at least one recordpublic List<String> findSimilarSubtaxa(String genus, String species, String subtaxa, int maxSize)
TaxonomyDatabasefindSimilarSubtaxa in interface TaxonomyDatabasegenus - valid genusspecies - valid speciessubtaxa - current subtaxamaxSize - maximum number of suggestions to returnpublic String getSubtaxaAuthority(String genus, String species, String subtaxa)
TaxonomyDatabasegetSubtaxaAuthority in interface TaxonomyDatabasegenus - the genusspecies - the speciessubtaxa - subtaxanullpublic List<SpeciesRow> listSpecies(String genus, String species, int maxSize)
TaxonomyDatabaselistSpecies in interface TaxonomyDatabasegenus - valid genusspecies - valid speciesmaxSize - maximum number of rows to returnpublic List<SpeciesRow> findSpeciesRow(String genus, String species, String subtaxa)
TaxonomyDatabasefindSpeciesRow in interface TaxonomyDatabasegenus - the genusspecies - the speciessubtaxa - the MCPD subtaxapublic SpeciesRow getSpeciesRow(long speciesId)
TaxonomyDatabasegetSpeciesRow in interface TaxonomyDatabasespeciesId - duhpublic String getGenus(long genusId)
TaxonomyDatabasegetGenus in interface TaxonomyDatabasegenusId - duhCopyright © 2017 Global Crop Diversity Trust. All rights reserved.