001/**
002 *                    BioJava development code
003 *
004 * This code may be freely distributed and modified under the
005 * terms of the GNU Lesser General Public Licence.  This should
006 * be distributed with the code.  If you do not have a copy,
007 * see:
008 *
009 *      http://www.gnu.org/copyleft/lesser.html
010 *
011 * Copyright for this code is held jointly by the individual
012 * authors.  These should be listed in @author doc comments.
013 *
014 * For more information on the BioJava project and its aims,
015 * or to join the biojava-l mailing list, visit the home page
016 * at:
017 *
018 *      http://www.biojava.org/
019 *
020 */
021package org.biojava.bio.seq.io.agave;
022import org.biojava.bio.seq.StrandedFeature;
023import org.biojava.bio.symbol.Location;
024
025/**
026 * An interface that can be tested for by nested handlers
027 * when trying to do a callback.
028 * This one handles callbacks from nested elements that
029 * determine strandedness of a nesting element.
030 *
031 * @author Hanning Ni     Doubletwist Inc
032 */
033public interface AGAVEBioSeqCallbackItf {
034
035/**
036 * Allows nesting class that manages a gene template
037 * to gain information about its extent from nested
038 * elements.  Strand is reported separately as
039 * some gene features may not have strand.
040 */
041  public void reportFeature(Location loc);
042  public void reportStrand(StrandedFeature.Strand strand);
043  public void reportDna(String dna) ;
044}
045