001/**
002 * Copyright (C) 2010-2015 The Roslin Institute <contact andy.law@roslin.ed.ac.uk>
003 *
004 * This file is part of JEnsembl: a Java API to Ensembl data sources developed by the
005 * Bioinformatics Group at The Roslin Institute, The Royal (Dick) School of
006 * Veterinary Studies, University of Edinburgh.
007 *
008 * Project hosted at: http://jensembl.sourceforge.net
009 *
010 * This is free software: you can redistribute it and/or modify
011 * it under the terms of the GNU General Public License (version 3) as published by
012 * the Free Software Foundation.
013 *
014 * This software is distributed in the hope that it will be useful,
015 * but WITHOUT ANY WARRANTY; without even the implied warranty of
016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
017 * GNU General Public License for more details.
018 *
019 * You should have received a copy of the GNU General Public License
020 * in this software distribution. If not, see: http://opensource.org/licenses/gpl-3.0.html
021 */
022package uk.ac.roslin.ensembl.dao.database.factory;
023
024import uk.ac.roslin.ensembl.dao.database.DBSpecies;
025import uk.ac.roslin.ensembl.dao.factory.DAOSpeciesFactory;
026import uk.ac.roslin.ensembl.exception.DAOException;
027import uk.ac.roslin.ensembl.model.core.CollectionSpecies;
028import uk.ac.roslin.ensembl.model.core.Species;
029import uk.ac.roslin.ensembl.model.database.CollectionDatabase;
030import uk.ac.roslin.ensembl.model.database.SingleSpeciesDatabase;
031
032/**
033 *
034 * @author tpaterso
035 */
036public abstract class DBDAOSpeciesFactory extends DBDAOFactory implements DAOSpeciesFactory{
037
038    protected DBSpecies species = null;
039
040    public DBDAOSpeciesFactory()   {
041        super();
042    }
043
044
045    public DBDAOSpeciesFactory(SingleSpeciesDatabase database)  throws DAOException {
046        super(database);
047        this.species = (DBSpecies) database.getSpecies();
048
049    }
050
051    public DBDAOSpeciesFactory(CollectionDatabase database, CollectionSpecies species)  throws DAOException {
052        this();
053        super.setDatabase(database);
054        this.species = (DBSpecies) species;
055    }
056
057    @Override
058    public DBSpecies getSpecies() {
059        return this.species;
060    }
061
062    @Override
063    public void setSpecies(Species species) {
064        this.species = (DBSpecies) species;
065    }
066
067
068}