001    /**
002     * Copyright (C) 2011 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    package uk.ac.roslin.ensembl.model.core;
021    
022    /**
023     *
024     * @author tpaterso
025     */
026    public interface Exon extends Feature {
027    
028       public static class Phase {
029            public static int ZERO = 0;
030            public static int ONE = 1;
031            public static int TWO = 2;
032            public static int NONE = -1;
033    
034            public static int getPhase(int p) {
035                if (p==0) {
036                    return ZERO;
037                }
038                else if (p==1) {
039                    return ONE;
040                }
041                else if (p==2) {
042                    return TWO;
043                }
044                else return NONE;
045            }
046        }
047    
048    
049    
050        public int getPhase() ;
051    
052        public Boolean isConstitutive() ;
053    
054    }