Files
EndPoint/src/ovh/alexisdelhaie/endpoint/url/SpecialChar.java
2020-09-18 19:42:50 +02:00

45 lines
1.2 KiB
Java

package ovh.alexisdelhaie.endpoint.url;
public enum SpecialChar {
SPACE(' ', "%20"),
HASH('#', "%23"),
LEFT_BRACE('{', "%7B"),
RIGHT_BRACE('}', "%7D"),
LEFT_BRACKET('[', "%5B"),
RIGHT_BRACKET(']', "%5D"),
AT('@', "%40"),
CIRCUMFLEX('^', "%5E"),
SLASH('/', "%2F"),
BACK_SLASH('\\', "%5C"),
DOLLAR('$', "%24"),
LEFT_CHEVRON('<', "%3C"),
RIGHT_CHEVRON('>', "%3E"),
PIPE('|', "%7C"),
TILDE('~', "%7E"),
BACK_QUOTE('`', "%60"),
INTERROGATION('?', "%3F"),
EQUAL('=', "%3D"),
CR('\r', "%0D"),
LF('\n', "%0A"),
SEMICOLON(';', "%3B"),
COLON(':', "%3A"),
AND('&', "%26");
private char decodedChar;
private String encodedChar;
SpecialChar(char decodedChar, String encodedChar) {
this.decodedChar = decodedChar;
this.encodedChar = encodedChar;
}
public static String encodeString(String decodedString) {
String encodedString = decodedString.replace("%", "%25");
for (SpecialChar v : SpecialChar.values()) {
encodedString = encodedString.replace(Character.toString(v.decodedChar), v.encodedChar);
}
return encodedString;
}
}