@Override public boolean isPlain(String s) { if(null == s || s.isEmpty()) { return true; } for(char c : s.toCharArray()) { if(!Hex.isHexCharacter(c)) { return true; } } return false; }
private void processLiteralCharacters() { if (literalCharactersBuffer.length() > 0) { literalCharacters += literalCharactersBuffer.length(); String s = encodeLiteralCharacters(literalCharactersBuffer.toString()); normalizedTemplate.append(s); // Escape if reserved regex character for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (RESERVED_REGEX_CHARACTERS.contains(c)) { regex.append("\\"); regex.append(c); } else if (c == '%') { final char c1 = s.charAt(i + 1); final char c2 = s.charAt(i + 2); if (Hex.isHexCharacter(c1) && Hex.isHexCharacter(c2)) { regex.append("%").append(HEX_TO_UPPERCASE_REGEX[c1]).append(HEX_TO_UPPERCASE_REGEX[c2]); i += 2; } } else { regex.append(c); } } literalCharactersBuffer.setLength(0); } }