You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2017/12/13 09:38:28 UTC
httpcomponents-core git commit: HTTPCORE-499 Make interface Header
extend NameValuePair. [Forced Update!]
Repository: httpcomponents-core
Updated Branches:
refs/heads/master d19c8632b -> 6abc8da24 (forced update)
HTTPCORE-499 Make interface Header extend NameValuePair.
Project: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/commit/6abc8da2
Tree: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/tree/6abc8da2
Diff: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/diff/6abc8da2
Branch: refs/heads/master
Commit: 6abc8da24f906fb3c72a8175008ee3414d9a03c3
Parents: 1c4729b
Author: Gary Gregory <gg...@apache.org>
Authored: Tue Dec 12 16:52:00 2017 -0700
Committer: Oleg Kalnichevski <ol...@apache.org>
Committed: Wed Dec 13 10:24:49 2017 +0100
----------------------------------------------------------------------
RELEASE_NOTES.txt | 3 ++
.../java/org/apache/hc/core5/http/Header.java | 22 +++-------
.../hc/core5/http/message/BasicHeader.java | 46 +++-----------------
.../core5/http/message/BasicNameValuePair.java | 22 ++++++++++
4 files changed, 36 insertions(+), 57 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/httpcomponents-core/blob/6abc8da2/RELEASE_NOTES.txt
----------------------------------------------------------------------
diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index e03aece..fa4e449 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -7,6 +7,9 @@ Changelog
* HTTPCORE-496: Add API org.apache.http.protocol.UriPatternMatcher.entrySet().
Contributed by Gary Gregory <ggregory at apache.org>
+* HTTPCORE-499 Make interface Header extend NameValuePair
+ Contributed by Gary Gregory <ggregory at apache.org>
+
Release 5.0-BETA1
-------------------
http://git-wip-us.apache.org/repos/asf/httpcomponents-core/blob/6abc8da2/httpcore5/src/main/java/org/apache/hc/core5/http/Header.java
----------------------------------------------------------------------
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/Header.java b/httpcore5/src/main/java/org/apache/hc/core5/http/Header.java
index 7c9e68e..0d6d898 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/Header.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/Header.java
@@ -28,31 +28,21 @@
package org.apache.hc.core5.http;
/**
- * Represents an HTTP header field consisting of a field name and a field value..
+ * Represents an HTTP header field consisting of a field name and a field
+ * value.
*
* @since 4.0
*/
-public interface Header {
-
- /**
- * Get the name of the Header.
- *
- * @return the name of the Header, never {@code null}
- */
- String getName();
-
- /**
- * Get the value of the Header.
- *
- * @return the value of the Header, may be {@code null}
- */
- String getValue();
+public interface Header extends NameValuePair {
/**
* Returns {@code true} if the header should be considered sensitive.
* <p>
* Some encoding schemes such as HPACK impose restrictions on encoded
* representation of sensitive headers.
+ * </p>
+ *
+ * @return {@code true} if the header should be considered sensitive.
*
* @since 5.0
*/
http://git-wip-us.apache.org/repos/asf/httpcomponents-core/blob/6abc8da2/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicHeader.java
----------------------------------------------------------------------
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicHeader.java b/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicHeader.java
index 68adb49..7441ec5 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicHeader.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicHeader.java
@@ -27,15 +27,12 @@
package org.apache.hc.core5.http.message;
-import java.io.Serializable;
-import java.util.Locale;
import java.util.Objects;
import org.apache.hc.core5.annotation.Contract;
import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.util.Args;
-import org.apache.hc.core5.util.LangUtils;
/**
* Immutable {@link Header}.
@@ -43,12 +40,10 @@ import org.apache.hc.core5.util.LangUtils;
* @since 4.0
*/
@Contract(threading = ThreadingBehavior.IMMUTABLE)
-public class BasicHeader implements Header, Serializable {
+public class BasicHeader extends BasicNameValuePair implements Header {
private static final long serialVersionUID = -5427236326487562174L;
- private final String name;
- private final String value;
private final boolean sensitive;
/**
@@ -61,9 +56,7 @@ public class BasicHeader implements Header, Serializable {
* @since 5.0
*/
public BasicHeader(final String name, final Object value, final boolean sensitive) {
- super();
- this.name = Args.notNull(name, "Name");
- this.value = Objects.toString(value, null);
+ super(Args.notNull(name, "Name"), Objects.toString(value, null));
this.sensitive = sensitive;
}
@@ -78,16 +71,6 @@ public class BasicHeader implements Header, Serializable {
}
@Override
- public String getName() {
- return this.name;
- }
-
- @Override
- public String getValue() {
- return this.value;
- }
-
- @Override
public boolean isSensitive() {
return this.sensitive;
}
@@ -95,30 +78,11 @@ public class BasicHeader implements Header, Serializable {
@Override
public String toString() {
final StringBuilder buf = new StringBuilder();
- buf.append(this.name).append(": ");
- if (this.value != null) {
- buf.append(this.value);
+ buf.append(this.getName()).append(": ");
+ if (this.getValue() != null) {
+ buf.append(this.getValue());
}
return buf.toString();
}
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof BasicHeader) {
- final BasicHeader that = (BasicHeader) obj;
- return this.name.equalsIgnoreCase(that.name) && LangUtils.equals(this.value, that.value);
- }
- return false;
- }
-
- @Override
- public int hashCode() {
- int hash = LangUtils.HASH_SEED;
- hash = LangUtils.hashCode(hash, this.name.toLowerCase(Locale.ROOT));
- hash = LangUtils.hashCode(hash, this.value);
- return hash;
- }
}
http://git-wip-us.apache.org/repos/asf/httpcomponents-core/blob/6abc8da2/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicNameValuePair.java
----------------------------------------------------------------------
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicNameValuePair.java b/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicNameValuePair.java
index b6bc887..28e6407 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicNameValuePair.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicNameValuePair.java
@@ -28,11 +28,13 @@
package org.apache.hc.core5.http.message;
import java.io.Serializable;
+import java.util.Locale;
import org.apache.hc.core5.annotation.Contract;
import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.NameValuePair;
import org.apache.hc.core5.util.Args;
+import org.apache.hc.core5.util.LangUtils;
/**
* Basic implementation of {@link NameValuePair}.
@@ -84,4 +86,24 @@ public class BasicNameValuePair implements NameValuePair, Serializable {
return buffer.toString();
}
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj instanceof BasicNameValuePair) {
+ final BasicNameValuePair that = (BasicNameValuePair) obj;
+ return this.name.equalsIgnoreCase(that.name) && LangUtils.equals(this.value, that.value);
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = LangUtils.HASH_SEED;
+ hash = LangUtils.hashCode(hash, this.name.toLowerCase(Locale.ROOT));
+ hash = LangUtils.hashCode(hash, this.value);
+ return hash;
+ }
+
}