Skip to content

Commit

Permalink
Make non-static methods static where-ever possible
Browse files Browse the repository at this point in the history
  • Loading branch information
fmela committed Feb 22, 2015
1 parent 35f2f3b commit 9260faf
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 46 deletions.
19 changes: 11 additions & 8 deletions src/main/java/io/mola/galimatias/FormURLEncodedParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,11 @@ private FormURLEncodedParser() {

}

private static final FormURLEncodedParser INSTANCE = new FormURLEncodedParser();

@Deprecated
public static FormURLEncodedParser getInstance() {
return new FormURLEncodedParser();
return INSTANCE;
}

/**
Expand All @@ -51,7 +54,7 @@ public static FormURLEncodedParser getInstance() {
*
* @param input
*/
public List<NameValue> parse(final String input) {
public static List<NameValue> parse(final String input) {
return parse(input, Charset.forName("UTF-8"));
}

Expand All @@ -65,7 +68,7 @@ public List<NameValue> parse(final String input) {
* imposes restrictions on what encodings can and cannot be used. This method does not enforce
* such restrictions.
*/
public List<NameValue> parse(final String input, final Charset charset) {
public static List<NameValue> parse(final String input, final Charset charset) {
final boolean isIndex = false;

if (input == null) {
Expand Down Expand Up @@ -148,7 +151,7 @@ public List<NameValue> parse(final String input, final Charset charset) {
return pairs;
}

private String serialize(ByteBuffer bytes) {
private static String serialize(ByteBuffer bytes) {
if (bytes == null) {
throw new NullPointerException("bytes");
}
Expand Down Expand Up @@ -187,7 +190,7 @@ private static String serialize(final byte[] bytes, final int offset, final int
* @param input
* @return
*/
public String encode(final String input) {
public static String encode(final String input) {
// 1. If encoding override is not given, set it to utf-8.
return encode(input, Charset.forName("UTF-8"));
}
Expand All @@ -201,7 +204,7 @@ public String encode(final String input) {
* @param charset
* @return
*/
public String encode(final String input, final Charset charset) {
public static String encode(final String input, final Charset charset) {
return encode(parse(input), charset);
}

Expand All @@ -215,7 +218,7 @@ public String encode(final String input, final Charset charset) {
* @param input
* @return
*/
public String encode(final List<NameValue> input) {
public static String encode(final List<NameValue> input) {
// 1. If encoding override is not given, set it to utf-8.
return encode(input, Charset.forName("UTF-8"));
}
Expand All @@ -227,7 +230,7 @@ public String encode(final List<NameValue> input) {
* @param charset
* @return
*/
public String encode(final List<NameValue> input, final Charset charset) {
public static String encode(final List<NameValue> input, final Charset charset) {
if (input == null) {
throw new NullPointerException("input");
}
Expand Down
10 changes: 5 additions & 5 deletions src/main/java/io/mola/galimatias/URLParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -874,7 +874,7 @@ private static enum EncodeSet {
USERNAME
}

private void utf8PercentEncode(final int c, final EncodeSet encodeSet, final StringBuilder buffer) {
private static void utf8PercentEncode(final int c, final EncodeSet encodeSet, final StringBuilder buffer) {
if (encodeSet != null) {
switch (encodeSet) {
case SIMPLE:
Expand Down Expand Up @@ -909,19 +909,19 @@ private void utf8PercentEncode(final int c, final EncodeSet encodeSet, final Str
}
}

private boolean isInSimpleEncodeSet(final int c) {
private static boolean isInSimpleEncodeSet(final int c) {
return c < 0x0020 || c > 0x007E;
}

private boolean isInDefaultEncodeSet(final int c) {
private static boolean isInDefaultEncodeSet(final int c) {
return isInSimpleEncodeSet(c) || c == ' ' || c == '"' || c == '#' || c == '<' || c == '>' || c == '?' || c == '`';
}

private boolean isInPasswordEncodeSet(final int c) {
private static boolean isInPasswordEncodeSet(final int c) {
return isInDefaultEncodeSet(c) || c == '/' || c == '@' || c == '\\';
}

private boolean isInUsernameEncodeSet(final int c) {
private static boolean isInUsernameEncodeSet(final int c) {
return isInPasswordEncodeSet(c) || c == ':';
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/io/mola/galimatias/URLSearchParameters.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public final class URLSearchParameters implements Iterable<NameValue> {

URLSearchParameters(final String query) {
if (query != null && !query.isEmpty()) {
nameValues = Collections.unmodifiableList(FormURLEncodedParser.getInstance().parse(query));
nameValues = Collections.unmodifiableList(FormURLEncodedParser.parse(query));
} else {
nameValues = EMPTY_NAME_VALUES;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public URL canonicalize(final URL input) throws GalimatiasParseException {
.withFragment(decodeUnreserved(output.fragment()));
}

private String decodeUnreserved(final String input) {
private static String decodeUnreserved(final String input) {
if (input == null || input.isEmpty()) {
return input;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,28 +159,28 @@ public URL canonicalize(final URL input) throws GalimatiasParseException {
return result;
}

private boolean isMark(final int c) {
private static boolean isMark(final int c) {
return c == '-' || c == '_' || c == '.' || c == '!' || c == '*' || c == '\'' || c == '(' || c == ')';
}

private boolean isUnreserved(final int c) {
private static boolean isUnreserved(final int c) {
return isASCIIAlphanumeric(c) || isMark(c);
}

private boolean isReserved(final int c) {
private static boolean isReserved(final int c) {
return c == ';' || c == '/' || c == '?' || c == ':' || c == '@' || c == '&' || c == '=' || c == '+' || c == '$' || c == ',';
}

private boolean isPChar(final int c) {
private static boolean isPChar(final int c) {
//XXX: "pct-encoded" is pchar, but we check for it before calling this.
return isUnreserved(c) || c == ':' || c == '@' || c == '&' || c == '=' || c == '+' || c == '$' || c == ',';
}

private boolean isUric(final int c) {
private static boolean isUric(final int c) {
return isReserved(c) || isUnreserved(c);
}

private boolean isUserInfo(final int c) {
private static boolean isUserInfo(final int c) {
//XXX: ':' is excluded here, since we work with user/pass, not userInfo
return isUnreserved(c) || c == ';' || c == ':' || c == '&' || c == '=' || c == '+' || c == '$' || c == ',';
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,20 +159,20 @@ public URL canonicalize(final URL input) throws GalimatiasParseException {
return result;
}

private boolean isUnreserved(final int c) {
private static boolean isUnreserved(final int c) {
return isASCIIAlphanumeric(c) || c == '-' || c == '.' || c == '_' || c == '~';
}

private boolean isSubdelim(final int c) {
private static boolean isSubdelim(final int c) {
return c == '!' || c == '$' || c == '&' || c == '\'' || c == '(' || c == ')' || c == '*' || c == '+' || c == ',' || c == ';' || c == '=';
}

private boolean isPChar(final int c) {
private static boolean isPChar(final int c) {
//XXX: "pct-encoded" is pchar, but we check for it before calling this.
return isUnreserved(c) || isSubdelim(c) || c == ':' || c == '@';
}

private boolean isUserInfo(final int c) {
private static boolean isUserInfo(final int c) {
//XXX: ':' excluded here since we work directly with user/pass
return isUnreserved(c) || isSubdelim(c);
}
Expand Down
40 changes: 19 additions & 21 deletions src/test/java/io/mola/galimatias/FormURLEncodedParserTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,69 +38,67 @@ public class FormURLEncodedParserTest {
@Test
public void parse() {
List<NameValue> result;
final FormURLEncodedParser parser = FormURLEncodedParser.getInstance();

result = parser.parse("foo=123");
result = FormURLEncodedParser.parse("foo=123");
assertThat(result).isEqualTo(Arrays.asList(new NameValue("foo", "123")));

result = parser.parse("foo=123&bar=456");
result = FormURLEncodedParser.parse("foo=123&bar=456");
assertThat(result).isEqualTo(Arrays.asList(new NameValue("foo", "123"), new NameValue("bar", "456")));

result = parser.parse("=123");
result = FormURLEncodedParser.parse("=123");
assertThat(result).isEqualTo(Arrays.asList(new NameValue("", "123")));

result = parser.parse("foo");
result = FormURLEncodedParser.parse("foo");
assertThat(result).isEqualTo(Arrays.asList(new NameValue("foo", "")));

result = parser.parse("foo=");
result = FormURLEncodedParser.parse("foo=");
assertThat(result).isEqualTo(Arrays.asList(new NameValue("foo", "")));

result = parser.parse("=123");
result = FormURLEncodedParser.parse("=123");
assertThat(result).isEqualTo(Arrays.asList(new NameValue("", "123")));

result = parser.parse("foo");
result = FormURLEncodedParser.parse("foo");
assertThat(result).isEqualTo(Arrays.asList(new NameValue("foo", "")));

result = parser.parse("foo=");
result = FormURLEncodedParser.parse("foo=");
assertThat(result).isEqualTo(Arrays.asList(new NameValue("foo", "")));

result = parser.parse("a+=b+");
result = FormURLEncodedParser.parse("a+=b+");
assertThat(result).isEqualTo(Arrays.asList(new NameValue("a ", "b ")));

result = parser.parse("a%20=b%20");
result = FormURLEncodedParser.parse("a%20=b%20");
assertThat(result).isEqualTo(Arrays.asList(new NameValue("a%20", "b%20")));

result = parser.parse("©=ß");
result = FormURLEncodedParser.parse("©=ß");
assertThat(result).isEqualTo(Arrays.asList(new NameValue("©", "ß")));
}

@Test
public void encode() {
String result;
final FormURLEncodedParser parser = FormURLEncodedParser.getInstance();

result = parser.encode(Arrays.asList(new NameValue("foo", "123")));
result = FormURLEncodedParser.encode(Arrays.asList(new NameValue("foo", "123")));
assertThat(result).isEqualTo("foo=123");

result = parser.encode(Arrays.asList(new NameValue("foo", "123"), new NameValue("bar", "456")));
result = FormURLEncodedParser.encode(Arrays.asList(new NameValue("foo", "123"), new NameValue("bar", "456")));
assertThat(result).isEqualTo("foo=123&bar=456");

result = parser.encode(Arrays.asList(new NameValue("", "123")));
result = FormURLEncodedParser.encode(Arrays.asList(new NameValue("", "123")));
assertThat(result).isEqualTo("=123");

result = parser.encode(Arrays.asList(new NameValue("foo", "")));
result = FormURLEncodedParser.encode(Arrays.asList(new NameValue("foo", "")));
assertThat(result).isEqualTo("foo=");

result = parser.encode(Arrays.asList(new NameValue("", "123")));
result = FormURLEncodedParser.encode(Arrays.asList(new NameValue("", "123")));
assertThat(result).isEqualTo("=123");

result = parser.encode(Arrays.asList(new NameValue("a ", "b ")));
result = FormURLEncodedParser.encode(Arrays.asList(new NameValue("a ", "b ")));
assertThat(result).isEqualTo("a =b ");

result = parser.encode(Arrays.asList(new NameValue("a%20", "b%20")));
result = FormURLEncodedParser.encode(Arrays.asList(new NameValue("a%20", "b%20")));
assertThat(result).isEqualTo("a%2520=b%2520");

result = parser.encode(Arrays.asList(new NameValue("©", "ß")));
result = FormURLEncodedParser.encode(Arrays.asList(new NameValue("©", "ß")));
assertThat(result).isEqualTo("%C2%A9=%C3%9F");
}

Expand Down

0 comments on commit 9260faf

Please sign in to comment.