package org.nextprot.api.core.utils.exon; import org.nextprot.api.core.domain.AminoAcid; import org.nextprot.api.core.domain.Exon; /** * A listener for various analysis events of TranscriptExonsAnalyser. * * Created by fnikitin on 22/07/15. */ public interface ExonsAnalysisListener { /** The transcript analysis is about to be started. */ void started(); /** * The specified exon is about to be analysed. * @param exon the exon which is about to be analysed */ void startedExon(Exon exon); /** * The analysed coding exon is about to be handled. * @param exon the analysed coding exon * @param first the first exon aa * @param last the last exon aa * @param cat the exon category */ void analysedCodingExon(Exon exon, AminoAcid first, AminoAcid last, ExonCategory cat); /** * Handling the analysed coding exon which generates an error. * @param exon the exon that failed * @param error the out of bound error */ void analysedCodingExonFailed(Exon exon, ExonOutOfBoundError error); /** * The analysed non-coding exon is about to be handled. * @param exon the analysed non-coding exon * @param cat the exon category */ void analysedNonCodingExon(Exon exon, ExonCategory cat); /** * The specified exon analysis has been terminated. * @param exon the exon analysis that has been terminated */ void terminated(Exon exon); /** The analysis has been terminated */ void terminated(); }