Пример #1
0
    public String writeToString() {
      if (text == null || text.isEmpty()) return "";

      StringBuilder result = new StringBuilder();
      result.append(mode.getCode());
      if (caseSensitive) {
        result.append('C');
      }
      if (regexSearch) {
        result.append('R');
      }
      if (mapCSSSearch) {
        result.append('M');
      }
      if (allElements) {
        result.append('A');
      }
      result.append(' ').append(text);
      return result.toString();
    }
Пример #2
0
    public static SearchSetting readFromString(String s) {
      if (s.isEmpty()) return null;

      SearchSetting result = new SearchSetting();

      int index = 1;

      result.mode = SearchMode.fromCode(s.charAt(0));
      if (result.mode == null) {
        result.mode = SearchMode.replace;
        index = 0;
      }

      while (index < s.length()) {
        if (s.charAt(index) == 'C') {
          result.caseSensitive = true;
        } else if (s.charAt(index) == 'R') {
          result.regexSearch = true;
        } else if (s.charAt(index) == 'A') {
          result.allElements = true;
        } else if (s.charAt(index) == 'M') {
          result.mapCSSSearch = true;
        } else if (s.charAt(index) == ' ') {
          break;
        } else {
          Main.warn("Unknown char in SearchSettings: " + s);
          break;
        }
        index++;
      }

      if (index < s.length() && s.charAt(index) == ' ') {
        index++;
      }

      result.text = s.substring(index);

      return result;
    }
Пример #3
0
 /**
  * Returns the search mode matching the given character code.
  *
  * @param code character code
  * @return search mode matching the given character code
  */
 public static SearchMode fromCode(char code) {
   for (SearchMode mode : values()) {
     if (mode.getCode() == code) return mode;
   }
   return null;
 }