X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fcom%2Fstevesoft%2Fpat%2FBracket.java;h=175731bfa76f801bf9b2551a195a3c1550c79045;hb=7bc226b58110fa26d9dbd3f0c78095d06909ffc3;hp=9f60179bb13030c3020656ef66ba52e9799a2e9d;hpb=dd74fc4938723fe5ec48d4e5fdcfbe58ac42a48d;p=jalview.git diff --git a/src/com/stevesoft/pat/Bracket.java b/src/com/stevesoft/pat/Bracket.java index 9f60179..175731b 100755 --- a/src/com/stevesoft/pat/Bracket.java +++ b/src/com/stevesoft/pat/Bracket.java @@ -6,43 +6,82 @@ // -- Happy Computing! // package com.stevesoft.pat; -import java.util.Vector; -import java.util.Hashtable; + +import java.util.*; /** The Bracket is a form of the Or class, implements the pattern element [ ]. */ -class Bracket extends Or { - boolean neg; - Bracket(boolean n) { neg = n; } - String leftForm() { - if(neg) - return "[^"; - else - return "["; +class Bracket + extends Or +{ + boolean neg; + Bracket(boolean n) + { + neg = n; + } + + String leftForm() + { + if (neg) + { + return "[^"; + } + else + { + return "["; } - String rightForm() { return "]"; } - String sepForm() { return ""; } - public int matchInternal(int pos,Pthings pt) { - if(pos >= pt.src.length()) return -1; - int r = super.matchInternal(pos,pt); - if((neg && r<0)||(!neg && r>=0)) - return nextMatch(pos+1,pt); - return -1; + } + + String rightForm() + { + return "]"; + } + + String sepForm() + { + return ""; + } + + public int matchInternal(int pos, Pthings pt) + { + if (pos >= pt.src.length()) + { + return -1; } - public patInt minChars() { return new patInt(1); } - public patInt maxChars() { return new patInt(1); } - - public Or addOr(Pattern p) { - pv = null; - v.addElement(p); - p.setParent(null); - return this; + int r = super.matchInternal(pos, pt); + if ( (neg && r < 0) || (!neg && r >= 0)) + { + return nextMatch(pos + 1, pt); } - public Pattern clone1(Hashtable h) { - Bracket b = new Bracket(neg); - b.v = new Vector(); - for(int i=0;i