Minor Improvement:
* Use Empty collections
* Unnecessary boxing
* Unnecessary toString
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/ContentType.java b/httpcore5/src/main/java/org/apache/hc/core5/http/ContentType.java
index ac34ee4..e2bd0f6 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/ContentType.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/ContentType.java
@@ -105,6 +105,11 @@
public static final ContentType WILDCARD = create(
"*/*", (Charset) null);
+ /**
+ * An empty immutable {@code NameValuePair} array.
+ */
+ private static final NameValuePair[] EMPTY_NAME_VALUE_PAIR_ARRAY = new NameValuePair[0];
+
/**
* @deprecated To be removed in 6.0
@@ -411,7 +416,7 @@
for (final Map.Entry<String, String> entry: paramMap.entrySet()) {
newParams.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
- return create(this.getMimeType(), newParams.toArray(new NameValuePair[newParams.size()]), true);
+ return create(this.getMimeType(), newParams.toArray(EMPTY_NAME_VALUE_PAIR_ARRAY), true);
}
public boolean isSameMimeType(final ContentType contentType) {
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/HttpHost.java b/httpcore5/src/main/java/org/apache/hc/core5/http/HttpHost.java
index a58f440..40a0a47 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/HttpHost.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/HttpHost.java
@@ -335,7 +335,7 @@
buffer.append(this.hostname);
if (this.port != -1) {
buffer.append(':');
- buffer.append(Integer.toString(this.port));
+ buffer.append(this.port);
}
return buffer.toString();
}
@@ -352,7 +352,7 @@
final StringBuilder buffer = new StringBuilder(this.hostname.length() + 6);
buffer.append(this.hostname);
buffer.append(":");
- buffer.append(Integer.toString(this.port));
+ buffer.append(this.port);
return buffer.toString();
}
return this.hostname;
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/ProtocolVersion.java b/httpcore5/src/main/java/org/apache/hc/core5/http/ProtocolVersion.java
index 37f4750..572bbc5 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/ProtocolVersion.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/ProtocolVersion.java
@@ -161,9 +161,9 @@
final StringBuilder buffer = new StringBuilder();
buffer.append(this.protocol);
buffer.append('/');
- buffer.append(Integer.toString(this.major));
+ buffer.append(this.major);
buffer.append('.');
- buffer.append(Integer.toString(this.minor));
+ buffer.append(this.minor);
return buffer.toString();
}
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicHeaderValueParser.java b/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicHeaderValueParser.java
index b1a063c..4dcb3f8 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicHeaderValueParser.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicHeaderValueParser.java
@@ -62,6 +62,16 @@
this.tokenizer = Tokenizer.INSTANCE;
}
+ /**
+ * An empty immutable {@code HeaderElement} array.
+ */
+ private static final HeaderElement[] EMPTY_HEADER_ELEMENT_ARRAY = new HeaderElement[0];
+
+ /**
+ * An empty immutable {@code NameValuePair} array.
+ */
+ private static final NameValuePair[] EMPTY_NAME_VALUE_ARRAY = new NameValuePair[0];
+
@Override
public HeaderElement[] parseElements(final CharSequence buffer, final ParserCursor cursor) {
Args.notNull(buffer, "Char sequence");
@@ -73,7 +83,7 @@
elements.add(element);
}
}
- return elements.toArray(new HeaderElement[elements.size()]);
+ return elements.toArray(EMPTY_HEADER_ELEMENT_ARRAY);
}
@Override
@@ -105,7 +115,7 @@
break;
}
}
- return params.toArray(new NameValuePair[params.size()]);
+ return params.toArray(EMPTY_NAME_VALUE_ARRAY);
}
@Override
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/message/HeaderGroup.java b/httpcore5/src/main/java/org/apache/hc/core5/http/message/HeaderGroup.java
index 3cfb64f..fb39384 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/message/HeaderGroup.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/message/HeaderGroup.java
@@ -55,6 +55,7 @@
/** The list of headers for this group, in the order in which they were added */
private final List<Header> headers;
+
/**
* Constructor for HeaderGroup.
*/
@@ -220,7 +221,7 @@
headersFound.add(header);
}
}
- return headersFound != null ? headersFound.toArray(new Header[headersFound.size()]) : EMPTY;
+ return headersFound != null ? headersFound.toArray(EMPTY) : EMPTY;
}
/**
@@ -296,7 +297,7 @@
*/
@Override
public Header[] getHeaders() {
- return headers.toArray(new Header[headers.size()]);
+ return headers.toArray(EMPTY);
}
/**
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/message/MessageSupport.java b/httpcore5/src/main/java/org/apache/hc/core5/http/message/MessageSupport.java
index 263cc2d..85c0e58 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/message/MessageSupport.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/message/MessageSupport.java
@@ -54,6 +54,11 @@
*/
public class MessageSupport {
+ /**
+ * An empty immutable {@code String} array.
+ */
+ private static final String[] EMPTY_STRING_ARRAY = new String[0];
+
private MessageSupport() {
// Do not allow utility class to be instantiated.
}
@@ -74,7 +79,7 @@
if (tokens == null || tokens.isEmpty()) {
return;
}
- formatTokens(dst, tokens.toArray(new String[tokens.size()]));
+ formatTokens(dst, tokens.toArray(EMPTY_STRING_ARRAY));
}
public static Header format(final String name, final Set<String> tokens) {
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/UriPatternMatcher.java b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/UriPatternMatcher.java
index b7b7577..97d8c8f 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/UriPatternMatcher.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/UriPatternMatcher.java
@@ -148,7 +148,7 @@
return true;
}
return (pattern.endsWith("*") && path.startsWith(pattern.substring(0, pattern.length() - 1)))
- || (pattern.startsWith("*") && path.endsWith(pattern.substring(1, pattern.length())));
+ || (pattern.startsWith("*") && path.endsWith(pattern.substring(1)));
}
@Override
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/UriPatternOrderedMatcher.java b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/UriPatternOrderedMatcher.java
index a9d0883..15fb5cd 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/UriPatternOrderedMatcher.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/UriPatternOrderedMatcher.java
@@ -136,7 +136,7 @@
return true;
}
return (pattern.endsWith("*") && path.startsWith(pattern.substring(0, pattern.length() - 1)))
- || (pattern.startsWith("*") && path.endsWith(pattern.substring(1, pattern.length())));
+ || (pattern.startsWith("*") && path.endsWith(pattern.substring(1)));
}
@Override
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/ssl/SSLContextBuilder.java b/httpcore5/src/main/java/org/apache/hc/core5/ssl/SSLContextBuilder.java
index 1a2b69d..6f8c478 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/ssl/SSLContextBuilder.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/ssl/SSLContextBuilder.java
@@ -89,6 +89,18 @@
private SecureRandom secureRandom;
private Provider provider;
+ /**
+ * An empty immutable {@code KeyManager} array.
+ */
+ private static final KeyManager[] EMPTY_KEY_MANAGER_ARRAY = new KeyManager[0];
+
+ /**
+ * An empty immutable {@code TrustManager} array.
+ */
+ private static final TrustManager[] EMPTY_TRUST_MANAGER_ARRAY = new TrustManager[0];
+
+
+
public static SSLContextBuilder create() {
return new SSLContextBuilder();
}
@@ -338,8 +350,8 @@
final Collection<TrustManager> trustManagers,
final SecureRandom secureRandom) throws KeyManagementException {
sslContext.init(
- !keyManagers.isEmpty() ? keyManagers.toArray(new KeyManager[keyManagers.size()]) : null,
- !trustManagers.isEmpty() ? trustManagers.toArray(new TrustManager[trustManagers.size()]) : null,
+ !keyManagers.isEmpty() ? keyManagers.toArray(EMPTY_KEY_MANAGER_ARRAY) : null,
+ !trustManagers.isEmpty() ? trustManagers.toArray(EMPTY_TRUST_MANAGER_ARRAY) : null,
secureRandom);
}
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/util/Tokenizer.java b/httpcore5/src/main/java/org/apache/hc/core5/util/Tokenizer.java
index ee66fd3..18cf335 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/util/Tokenizer.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/util/Tokenizer.java
@@ -89,11 +89,11 @@
public String toString() {
final StringBuilder buffer = new StringBuilder();
buffer.append('[');
- buffer.append(Integer.toString(this.lowerBound));
+ buffer.append(this.lowerBound);
buffer.append('>');
- buffer.append(Integer.toString(this.pos));
+ buffer.append(this.pos);
buffer.append('>');
- buffer.append(Integer.toString(this.upperBound));
+ buffer.append(this.upperBound);
buffer.append(']');
return buffer.toString();
}
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/util/VersionInfo.java b/httpcore5/src/main/java/org/apache/hc/core5/util/VersionInfo.java
index bf7636f..f438d2c 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/util/VersionInfo.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/util/VersionInfo.java
@@ -80,6 +80,11 @@
/** The classloader from which the version info was obtained. */
private final String infoClassloader;
+ /**
+ * An empty immutable {@code VersionInfo} array.
+ */
+ private static final VersionInfo[] EMPTY_VERSION_INFO_ARRAY = new VersionInfo[0];
+
/**
* Instantiates version information.
@@ -208,7 +213,7 @@
}
}
- return vil.toArray(new VersionInfo[vil.size()]);
+ return vil.toArray(EMPTY_VERSION_INFO_ARRAY);
}