public String readMatchingFlags(String text){
  clear();
  if (text.startsWith(PM_SEPARATOR)) {
    final StringTokenizer tok=new StringTokenizer(text,PM_SEPARATOR);
    while (tok.hasMoreTokens()) {
      final String flag=tok.nextToken();
      if (flag.equals(PM_TYPE_MATCH)) {
        typeMatching=true;
      }
 else       if (flag.equals(PM_EXACT_MATCH)) {
        exactMatching=true;
      }
 else       if (flag.equals(PM_SIMILAR_MATCH)) {
        similarMatching=true;
      }
 else       if (flag.equals(PM_ICASE_MATCH)) {
        caseInsensitive=true;
      }
 else       if (flag.equals(PM_JOKER_MATCH)) {
        jokerMatching=true;
      }
 else {
        break;
      }
      text=text.substring(flag.length() + 1);
    }
    if (isAnyFlagSet()) {
      text=text.substring(1);
    }
  }
  return text;
}

public String readMatchingFlags ( String text ) { clear ( ) ; if ( text . startsWith ( PM_SEPARATOR ) ) { final StringTokenizer tok = new StringTokenizer ( text , PM_SEPARATOR ) ; while ( tok . hasMoreTokens ( ) ) { final String flag = tok . nextToken ( ) ; if ( flag . equals ( PM_TYPE_MATCH ) ) { typeMatching = true ; } else if ( flag . equals ( PM_EXACT_MATCH ) ) { exactMatching = true ; } else if ( flag . equals ( PM_SIMILAR_MATCH ) ) { similarMatching = true ; } else if ( flag . equals ( PM_ICASE_MATCH ) ) { caseInsensitive = true ; } else if ( flag . equals ( PM_JOKER_MATCH ) ) { jokerMatching = true ; } else { break ; } text = text . substring ( flag . length ( ) + 1 ) ; } if ( isAnyFlagSet ( ) ) { text = text . substring ( 1 ) ; } } return text ; }
read leading matching flags from the given text string and return the remaining text .
