001package com.hfg.bio.taxonomy.ncbi;
002
003
004import java.util.Set;
005
006//------------------------------------------------------------------------------
007/**
008 Interface for an NCBI taxonomy data source used with NCBITaxon.
009 <div>
010  @author J. Alex Taylor, hairyfatguy.com
011 </div>
012 */
013//------------------------------------------------------------------------------
014// com.hfg Library
015//
016// This library is free software; you can redistribute it and/or
017// modify it under the terms of the GNU Lesser General Public
018// License as published by the Free Software Foundation; either
019// version 2.1 of the License, or (at your option) any later version.
020//
021// This library is distributed in the hope that it will be useful,
022// but WITHOUT ANY WARRANTY; without even the implied warranty of
023// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
024// Lesser General Public License for more details.
025//
026// You should have received a copy of the GNU Lesser General Public
027// License along with this library; if not, write to the Free Software
028// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
029//
030// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
031// jataylor@hairyfatguy.com
032//------------------------------------------------------------------------------
033
034public interface NCBITaxonomyDataSource
035{
036   /**
037    Retrieves the taxon for the specified NCBI taxon id.
038
039    @param inValue the taxon id for the taxon object to retrieve
040    @return the taxon object corresponding to the specified id. Returns null if the taxon cannot be found.
041    */
042   public NCBITaxon getByTaxonId(int inValue);
043
044
045   /**
046    Retrieves the NCBITaxon for the specified common name, scientific name,
047    or GenBank common name. Generally there will be a single taxon found for a given
048    name, but there are instances where multiple taxons may be found.
049
050    @param inValue the species name (common or scientific) for the taxon object to return
051    @return a Set of taxon objects corresponding to the specified name. Returns null if a match cannot be found.
052    */
053   public Set<NCBITaxon> getByName(String inValue);
054
055}