001    /**
002     * Copyright (C) 2010 The Roslin Institute <contact andy.law@roslin.ed.ac.uk>
003     *
004     * This file is part of the Ensembl Java API demonstration project developed by the
005     * Bioinformatics Group at The Roslin Institute, The Royal (Dick) School of
006     * Veterinary Studies, University of Edinburgh.
007     *
008     * This is free software: you can redistribute it and/or modify
009     * it under the terms of the GNU General Public License (version 3) as published by
010     * the Free Software Foundation.
011     *
012     * This software is distributed in the hope that it will be useful,
013     * but WITHOUT ANY WARRANTY; without even the implied warranty of
014     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
015     * GNU General Public License for more details.
016     *
017     * You should have received a copy of the GNU General Public License
018     * in this software distribution. If not, see <http://www.gnu.org/licenses/gpl-3.0.html/>.
019     */
020    
021    package uk.ac.roslin.ensembl.model.core;
022    
023    import java.util.HashMap;
024    import java.util.TreeMap;
025    import java.util.TreeSet;
026    import uk.ac.roslin.ensembl.config.EnsemblComparaDivision;
027    import uk.ac.roslin.ensembl.exception.DAOException;
028    import uk.ac.roslin.ensembl.model.database.CoreDatabase;
029    import uk.ac.roslin.ensembl.model.database.Database;
030    import uk.ac.roslin.ensembl.model.database.DatabaseType;
031    
032    /**
033     *
034     * @author paterson
035     */
036    public interface Species {
037    
038        public TreeSet<String> getAliases();
039    
040        public String getCommonName() ;
041    
042        public String getSpeciesBinomial() ;
043    
044        public String getDatabaseStyleName();
045    
046        public String getComparaName();
047    
048        public String getShortName();
049    
050        public void setProperty(HashMap row) ;
051    
052        public CoreDatabase getCurrentCoreDatabase();
053    
054        public String getTaxonomyID() ;
055    
056        public Integer getDBSpeciesID(String version) ;
057    
058        public String getEnsemblStablePrefix() ;
059    
060        public TreeSet<? extends Database> getDatabases();
061    
062        public void addDatabases(TreeSet<? extends Database> databases);
063    
064        public void addDatabase(Database database);
065    
066        public TreeSet<? extends Database> getDatabasesByType(DatabaseType type);
067    
068        public TreeSet<? extends Database> getDatabasesByVersion(String version);
069    
070        public Database getDatabaseByTypeAndVersion(DatabaseType type, String version);
071    
072        public Chromosome getChromosomeByName(String name) throws DAOException ;
073    
074        public Chromosome getChromosomeByName(String name, String dbVersion) throws DAOException;
075    
076        public TreeMap<String, ? extends Chromosome> getChromosomes() throws DAOException ;
077    
078        public TreeMap<String, ? extends Chromosome> getChromosomes(String dbVersion) throws DAOException;
079     
080        public TreeSet<String> getSchemaVersions() ;
081    
082        public TreeSet<String> getDBVersions() ;
083    
084        public Gene getGeneByID(Integer id) throws DAOException ;
085    
086        public Gene getGeneByID(Integer id, String dbVersion) throws DAOException ;
087    
088        public Gene getGeneByStableID(String stableID) throws DAOException ;
089    
090        public Gene getGeneByStableID(String stableID, String dbVersion) throws DAOException ;
091    
092        public EnsemblComparaDivision getComparaDivision() ;
093    
094        public String getAssembly() ;
095    
096        public String getAssembly(String dbVersion) ;
097    
098    }