You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by gg...@apache.org on 2017/12/14 15:46:58 UTC
httpcomponents-core git commit: [HTTPCORE-499] Make interface Header
extend NameValuePair. BasicHeader does not extend BasicNameValuePair. Don't
create a new empty array all the time since it is immutable.
Repository: httpcomponents-core
Updated Branches:
refs/heads/4.4.x 134de6f72 -> f316e527e
[HTTPCORE-499] Make interface Header extend NameValuePair. BasicHeader
does not extend BasicNameValuePair. Don't create a new empty array all
the time since it is immutable.
Project: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/commit/f316e527
Tree: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/tree/f316e527
Diff: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/diff/f316e527
Branch: refs/heads/4.4.x
Commit: f316e527e0e3dfde1e79666bad14a17f0d4d8575
Parents: 134de6f
Author: Gary Gregory <gg...@apache.org>
Authored: Thu Dec 14 08:46:55 2017 -0700
Committer: Gary Gregory <gg...@apache.org>
Committed: Thu Dec 14 08:46:55 2017 -0700
----------------------------------------------------------------------
.../org/apache/http/message/BasicHeader.java | 38 ++++++++++++++------
1 file changed, 28 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/httpcomponents-core/blob/f316e527/httpcore/src/main/java/org/apache/http/message/BasicHeader.java
----------------------------------------------------------------------
diff --git a/httpcore/src/main/java/org/apache/http/message/BasicHeader.java b/httpcore/src/main/java/org/apache/http/message/BasicHeader.java
index c77f2b1..0eae883 100644
--- a/httpcore/src/main/java/org/apache/http/message/BasicHeader.java
+++ b/httpcore/src/main/java/org/apache/http/message/BasicHeader.java
@@ -27,6 +27,8 @@
package org.apache.http.message;
+import java.io.Serializable;
+
import org.apache.http.Header;
import org.apache.http.HeaderElement;
import org.apache.http.ParseException;
@@ -35,29 +37,34 @@ import org.apache.http.annotation.ThreadingBehavior;
import org.apache.http.util.Args;
/**
- * Basic implementation of {@link Header}.
+ * Implements a basic {@link Header}.
*
* @since 4.0
*/
@Contract(threading = ThreadingBehavior.IMMUTABLE)
-public class BasicHeader extends BasicNameValuePair implements Header {
+public class BasicHeader implements Header, Cloneable, Serializable {
+
+ private static final HeaderElement[] EMPTY_HEADER_ELEMENTS = new HeaderElement[] {};
private static final long serialVersionUID = -5427236326487562174L;
+ private final String name;
+ private final String value;
+
/**
- * Constructor with name and value
+ * Constructs with name and value.
*
* @param name the header name
* @param value the header value
*/
public BasicHeader(final String name, final String value) {
- super(Args.notNull(name, "Name"), value);
+ this.name = Args.notNull(name, "Name");
+ this.value = value;
}
@Override
- public String toString() {
- // no need for non-default formatting in toString()
- return BasicLineFormatter.INSTANCE.formatHeader(null, this).toString();
+ public Object clone() throws CloneNotSupportedException {
+ return super.clone();
}
@Override
@@ -66,12 +73,23 @@ public class BasicHeader extends BasicNameValuePair implements Header {
// result intentionally not cached, it's probably not used again
return BasicHeaderValueParser.parseElements(this.getValue(), null);
}
- return new HeaderElement[] {};
+ return EMPTY_HEADER_ELEMENTS;
}
@Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ // no need for non-default formatting in toString()
+ return BasicLineFormatter.INSTANCE.formatHeader(null, this).toString();
}
}