*/
package org.biojava.dasobert.das;
-
import org.xml.sax.helpers.DefaultHandler;
-import org.xml.sax.Attributes ;
-import java.util.logging.* ;
+import org.xml.sax.Attributes;
+import java.util.logging.*;
/**
* a class that parses the XML response of a DAS - sequence command.
+ *
* @author Andreas Prlic
- *
+ *
*/
-public class DAS_Sequence_Handler extends DefaultHandler {
-
- StringBuffer sequence ;
- int length ;
-
- int maxLength;
- String version;
-
- boolean dna_flag;
- /**
- *
- */
- public DAS_Sequence_Handler() {
- super();
-
- sequence = new StringBuffer() ;
- length = 0;
- dna_flag = false ;
- maxLength = -1;
- version = "";
- }
-
-
-
- /** set a maximum length of sequence that should be loaded
- * default: -1. if -1 no length restriction is being supplied
- * @return the maximum length or -1 if no restriction
- */
- public int getMaxLength() {
- return maxLength;
- }
-
-
-
- /** set a maximum length of sequence that should be loaded
- * default: -1. if -1 no length restriction is being supplied
- * @param maxLength the maximum length or -1 if unrestricted
- */
- public void setMaxLength(int maxLength) {
- this.maxLength = maxLength;
- }
-
-
-
-
- public void startElement (String uri, String name, String qName, Attributes atts){
-
- if ( qName.equals("SEQUENCE")){
- version = atts.getValue("version");
- String lenstr = atts.getValue("stop");
- length = Integer.parseInt(lenstr);
- dna_flag = true ;
- }
-
- }
-
- public void characters (char ch[], int start, int length){
-
- if (maxLength > 0)
- if ( sequence.length() > maxLength)
- return;
-
- if (dna_flag)
- for (int i = start; i < start + length; i++) {
-
- // all sorts of characters can be found in "seqeunces" ... ignore them...
- switch (ch[i]) {
- case '\\':
- //System.out.print("\\\\");
- break;
- case '"':
- //System.out.print("\\\"");
- break;
- case '\n':
- //System.out.print("\\n");
- break;
- case '\r':
- //System.out.print("\\r");
- break;
- case '\t':
- //System.out.print("\\t");
- break;
- case ' ':
- break;
- default:
- sequence = sequence.append(ch[i]);
-
- break;
- }
- }
-
- }
-
- public String get_sequence() {
-
- if ( maxLength < 0) {
- if ( length != sequence.length()) {
- Logger logger = Logger.getLogger("org.biojava.spice");
- logger.warning("Sequence does not match specified length!");
- }
- }
-
- return sequence.toString();
- }
-
- public String getVersion() {
- return version;
- }
+public class DAS_Sequence_Handler extends DefaultHandler
+{
+
+ StringBuffer sequence;
+
+ int length;
+
+ int maxLength;
+
+ String version;
+
+ boolean dna_flag;
+
+ /**
+ *
+ */
+ public DAS_Sequence_Handler()
+ {
+ super();
+
+ sequence = new StringBuffer();
+ length = 0;
+ dna_flag = false;
+ maxLength = -1;
+ version = "";
+ }
+
+ /**
+ * set a maximum length of sequence that should be loaded default: -1. if -1
+ * no length restriction is being supplied
+ *
+ * @return the maximum length or -1 if no restriction
+ */
+ public int getMaxLength()
+ {
+ return maxLength;
+ }
+
+ /**
+ * set a maximum length of sequence that should be loaded default: -1. if -1
+ * no length restriction is being supplied
+ *
+ * @param maxLength
+ * the maximum length or -1 if unrestricted
+ */
+ public void setMaxLength(int maxLength)
+ {
+ this.maxLength = maxLength;
+ }
+
+ public void startElement(String uri, String name, String qName,
+ Attributes atts)
+ {
+
+ if (qName.equals("SEQUENCE"))
+ {
+ version = atts.getValue("version");
+ String lenstr = atts.getValue("stop");
+ length = Integer.parseInt(lenstr);
+ dna_flag = true;
+ }
+
+ }
+
+ public void characters(char ch[], int start, int length)
+ {
+
+ if (maxLength > 0)
+ if (sequence.length() > maxLength)
+ return;
+
+ if (dna_flag)
+ for (int i = start; i < start + length; i++)
+ {
+
+ // all sorts of characters can be found in "seqeunces" ... ignore
+ // them...
+ switch (ch[i])
+ {
+ case '\\':
+ // System.out.print("\\\\");
+ break;
+ case '"':
+ // System.out.print("\\\"");
+ break;
+ case '\n':
+ // System.out.print("\\n");
+ break;
+ case '\r':
+ // System.out.print("\\r");
+ break;
+ case '\t':
+ // System.out.print("\\t");
+ break;
+ case ' ':
+ break;
+ default:
+ sequence = sequence.append(ch[i]);
+
+ break;
+ }
+ }
+
+ }
+
+ public String get_sequence()
+ {
+
+ if (maxLength < 0)
+ {
+ if (length != sequence.length())
+ {
+ Logger logger = Logger.getLogger("org.biojava.spice");
+ logger.warning("Sequence does not match specified length!");
+ }
+ }
+
+ return sequence.toString();
+ }
+
+ public String getVersion()
+ {
+ return version;
+ }
}