JAL-1645 source formatting and organise imports
[jalview.git] / src / com / stevesoft / pat / StrPos.java
index 6043625..1f08e31 100755 (executable)
-//\r
-// This software is now distributed according to\r
-// the Lesser Gnu Public License.  Please see\r
-// http://www.gnu.org/copyleft/lesser.txt for\r
-// the details.\r
-//    -- Happy Computing!\r
-//\r
-package com.stevesoft.pat;\r
-/** \r
-        Shareware: package pat\r
-   <a href="copyright.html">Copyright 2001, Steven R. Brandt</a>\r
-*/ /**\r
-StrPos is used internally by regex to parse the regular expression. */\r
-public class StrPos {\r
-    String s;\r
-    int pos;\r
-    /** Return the position in the string pointed to */\r
-    public int pos() { return pos; }\r
-\r
-    /** This contains the escape character, which is \ by default. */\r
-    public char esc=Pattern.ESC;\r
-    char c;\r
-    /** Returns the current, possibly escaped, character. */\r
-    public char thisChar() { return c; }\r
-\r
-    boolean dontMatch,eos;\r
-\r
-    /** tell whether we are at end of string */\r
-    public boolean eos() { return eos; }\r
-    /** initialize a StrPos from another StrPos. */\r
-    public StrPos(StrPos sp) {\r
-        dup(sp);\r
-    }\r
-    /** copy a StrPos from sp to this. */\r
-    public void dup(StrPos sp) {\r
-        s = sp.s;\r
-        pos = sp.pos;\r
-        c = sp.c;\r
-        dontMatch = sp.dontMatch;\r
-        eos = sp.eos;\r
-    }\r
-    /** Initialize a StrPos by giving it a String, and a\r
-         position within the String. */\r
-    public StrPos(String s,int pos) {\r
-        this.s=s;\r
-        this.pos=pos-1;\r
-        inc();\r
-    }\r
-    /** Advance the place where StrPos points within the String.\r
-         Counts a backslash as part of the next character. */\r
-    public StrPos inc() {\r
-        pos++;\r
-        if(pos >= s.length()) {\r
-            eos = true;\r
-            return this;\r
-        }\r
-        eos = false;\r
-        c = s.charAt(pos);\r
-        if(c == esc && pos+1<s.length()) {\r
-            pos++;\r
-            c = s.charAt(pos);\r
-            if(c != esc)\r
-                dontMatch = true;\r
-            else\r
-                dontMatch = false;\r
-        } else\r
-            dontMatch = false;\r
-        return this;\r
-    }\r
-    /** Compare the (possibly escaped) character\r
-         pointed to by StrPos.  Return true if they are the\r
-         same, but lways return if character pointed to is escaped. */\r
-    public boolean match(char ch) {\r
-        if(dontMatch || eos) return false;\r
-        return c == ch;\r
-    }\r
-    /** As match, but only matches if the character is escaped. */\r
-    public boolean escMatch(char ch) {\r
-        if(!dontMatch || eos) return false;\r
-        return c == ch;\r
-    }\r
-\r
-    /** Returns true if the current\r
-        character is escaped (preceeded by "\"). */\r
-    public boolean escaped() { return dontMatch; }\r
-    /** Increment the string pointer by each character in\r
-         <pre>st</pre> that matches a non-escaped\r
-         character. */\r
-    public boolean incMatch(String st) {\r
-        StrPos sp = new StrPos(this);\r
-        int i;\r
-        for(i=0;i<st.length();i++) {\r
-            if(!sp.match(st.charAt(i)) )\r
-                return false;\r
-            sp.inc();\r
-        }\r
-        dup(sp);\r
-        return true;\r
-    }\r
-    /** Read in an integer. */\r
-    public patInt getPatInt() {\r
-        if(incMatch("inf"))\r
-            return new patInf();\r
-        int i,cnt=0;\r
-        StrPos sp = new StrPos(this);\r
-        for(i=0;!sp.eos && sp.c >= '0' && sp.c <= '9';i++) {\r
-            cnt = 10*cnt+sp.c-'0';\r
-            sp.inc();\r
-        }\r
-        if(i==0) return null;\r
-        dup(sp);\r
-        return new patInt(cnt);\r
-    }\r
-    /** get the string that we are processing. */\r
-    public String getString() { return s; }\r
-};\r
+//
+// This software is now distributed according to
+// the Lesser Gnu Public License.  Please see
+// http://www.gnu.org/copyleft/lesser.txt for
+// the details.
+//    -- Happy Computing!
+//
+package com.stevesoft.pat;
+
+/**
+ Shareware: package pat
+ <a href="copyright.html">Copyright 2001, Steven R. Brandt</a>
+ */
+/**
+ * StrPos is used internally by regex to parse the regular expression.
+ */
+public class StrPos
+{
+  String s;
+
+  int pos;
+
+  /** Return the position in the string pointed to */
+  public int pos()
+  {
+    return pos;
+  }
+
+  /** This contains the escape character, which is \ by default. */
+  public char esc = Pattern.ESC;
+
+  char c;
+
+  /** Returns the current, possibly escaped, character. */
+  public char thisChar()
+  {
+    return c;
+  }
+
+  boolean dontMatch, eos;
+
+  /** tell whether we are at end of string */
+  public boolean eos()
+  {
+    return eos;
+  }
+
+  /** initialize a StrPos from another StrPos. */
+  public StrPos(StrPos sp)
+  {
+    dup(sp);
+  }
+
+  /** copy a StrPos from sp to this. */
+  public void dup(StrPos sp)
+  {
+    s = sp.s;
+    pos = sp.pos;
+    c = sp.c;
+    dontMatch = sp.dontMatch;
+    eos = sp.eos;
+  }
+
+  /**
+   * Initialize a StrPos by giving it a String, and a position within the
+   * String.
+   */
+  public StrPos(String s, int pos)
+  {
+    this.s = s;
+    this.pos = pos - 1;
+    inc();
+  }
+
+  /**
+   * Advance the place where StrPos points within the String. Counts a backslash
+   * as part of the next character.
+   */
+  public StrPos inc()
+  {
+    pos++;
+    if (pos >= s.length())
+    {
+      eos = true;
+      return this;
+    }
+    eos = false;
+    c = s.charAt(pos);
+    if (c == esc && pos + 1 < s.length())
+    {
+      pos++;
+      c = s.charAt(pos);
+      if (c != esc)
+      {
+        dontMatch = true;
+      }
+      else
+      {
+        dontMatch = false;
+      }
+    }
+    else
+    {
+      dontMatch = false;
+    }
+    return this;
+  }
+
+  /**
+   * Compare the (possibly escaped) character pointed to by StrPos. Return true
+   * if they are the same, but lways return if character pointed to is escaped.
+   */
+  public boolean match(char ch)
+  {
+    if (dontMatch || eos)
+    {
+      return false;
+    }
+    return c == ch;
+  }
+
+  /** As match, but only matches if the character is escaped. */
+  public boolean escMatch(char ch)
+  {
+    if (!dontMatch || eos)
+    {
+      return false;
+    }
+    return c == ch;
+  }
+
+  /**
+   * Returns true if the current character is escaped (preceeded by "\").
+   */
+  public boolean escaped()
+  {
+    return dontMatch;
+  }
+
+  /**
+   * Increment the string pointer by each character in
+   * 
+   * <pre>
+   * st
+   * </pre>
+   * 
+   * that matches a non-escaped character.
+   */
+  public boolean incMatch(String st)
+  {
+    StrPos sp = new StrPos(this);
+    int i;
+    for (i = 0; i < st.length(); i++)
+    {
+      if (!sp.match(st.charAt(i)))
+      {
+        return false;
+      }
+      sp.inc();
+    }
+    dup(sp);
+    return true;
+  }
+
+  /** Read in an integer. */
+  public patInt getPatInt()
+  {
+    if (incMatch("inf"))
+    {
+      return new patInf();
+    }
+    int i, cnt = 0;
+    StrPos sp = new StrPos(this);
+    for (i = 0; !sp.eos && sp.c >= '0' && sp.c <= '9'; i++)
+    {
+      cnt = 10 * cnt + sp.c - '0';
+      sp.inc();
+    }
+    if (i == 0)
+    {
+      return null;
+    }
+    dup(sp);
+    return new patInt(cnt);
+  }
+
+  /** get the string that we are processing. */
+  public String getString()
+  {
+    return s;
+  }
+};