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 */
021
022package org.biojava.bio.seq.io.game;
023
024import org.biojava.utils.stax.DelegationManager;
025import org.biojava.utils.stax.StAXContentHandler;
026import org.xml.sax.Attributes;
027import org.xml.sax.SAXException;
028
029/**
030 * Handles the GAME <aspect> element
031 *
032 * @author David Huen
033 * @since 1.8
034 */
035public class GAMEAspectPropHandler extends StAXPropertyHandler {
036  // the <seq> element supplies clone name and length.
037  // other data includes a description of the sequence.
038  // we will stuff the name as clone_name in an annotation.
039
040  // set up factory method
041  public static final StAXHandlerFactory GAME_ASPECT_PROP_HANDLER_FACTORY 
042    = new StAXHandlerFactory() {
043    public StAXContentHandler getHandler(StAXFeatureHandler staxenv) {
044      return new GAMEAspectPropHandler(staxenv);
045    }
046  };
047
048  GAMEAspectPropHandler(StAXFeatureHandler staxenv) {
049    // execute superclass method to setup environment
050    super(staxenv);
051
052    // setup handlers
053    super.addHandler(new ElementRecognizer.ByLocalName("name"),
054      GAMENamePropHandler.GAME_NAME_PROP_HANDLER_FACTORY);
055  }
056
057  public void startElement(
058                String nsURI,
059                String localName,
060                String qName,
061                Attributes attrs,
062                DelegationManager dm)
063         throws SAXException
064  {
065    // all seems in order, go to superclass method
066    super.startElement(nsURI, localName, qName, attrs, dm);
067  }
068}
069