// // 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 Copyright 2001, Steven R. Brandt */ /** * This class only exists to store data needed during the compilation of a * regular expression. */ public class Rthings { /** * The numeric identity of the next () to be encountered while compiling the * pattern. */ public int val = Regex.BackRefOffset; /** * Needed in case (?i) is encountered, to pass back the message that * ignoreCase should be set. */ public boolean ignoreCase; /** * Needed in case (?Q) is encountered, to pass back the message that * dontMatchInQuotes should be set. */ public boolean dontMatchInQuotes; public boolean optimizeMe = false; public boolean noBackRefs = false; public int parenLevel = 0; boolean gFlag = false, mFlag = false, sFlag = false; Pattern p; Or o; Rthings(Regex r) { ignoreCase = r.ignoreCase; dontMatchInQuotes = r.dontMatchInQuotes; } void set(Regex r) { r.gFlag = gFlag; r.mFlag = mFlag; r.sFlag = sFlag; r.ignoreCase = ignoreCase; r.dontMatchInQuotes = dontMatchInQuotes; if (optimizeMe) { r.optimize(); } } };