diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/DefaultSpdyHeaders.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/DefaultSpdyHeaders.java index 154627c632..978e1a5a3f 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/DefaultSpdyHeaders.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/DefaultSpdyHeaders.java @@ -140,6 +140,12 @@ public class DefaultSpdyHeaders extends DefaultTextHeaders implements SpdyHeader return this; } + @Override + public SpdyHeaders addTimeMillis(CharSequence name, long value) { + super.addTimeMillis(name, value); + return this; + } + @Override public SpdyHeaders add(TextHeaders headers) { super.add(headers); @@ -230,6 +236,12 @@ public class DefaultSpdyHeaders extends DefaultTextHeaders implements SpdyHeader return this; } + @Override + public SpdyHeaders setTimeMillis(CharSequence name, long value) { + super.setTimeMillis(name, value); + return this; + } + @Override public SpdyHeaders set(TextHeaders headers) { super.set(headers); diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyHeaders.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyHeaders.java index fa342855f0..44a4d7d94b 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyHeaders.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyHeaders.java @@ -98,6 +98,9 @@ public interface SpdyHeaders extends TextHeaders { @Override SpdyHeaders addDouble(CharSequence name, double value); + @Override + SpdyHeaders addTimeMillis(CharSequence name, long value); + @Override SpdyHeaders add(TextHeaders headers); @@ -134,6 +137,9 @@ public interface SpdyHeaders extends TextHeaders { @Override SpdyHeaders setDouble(CharSequence name, double value); + @Override + SpdyHeaders setTimeMillis(CharSequence name, long value); + @Override SpdyHeaders setObject(CharSequence name, Object value); diff --git a/codec-stomp/src/main/java/io/netty/handler/codec/stomp/DefaultStompHeaders.java b/codec-stomp/src/main/java/io/netty/handler/codec/stomp/DefaultStompHeaders.java index dcf26bb290..eaf4ca60ff 100644 --- a/codec-stomp/src/main/java/io/netty/handler/codec/stomp/DefaultStompHeaders.java +++ b/codec-stomp/src/main/java/io/netty/handler/codec/stomp/DefaultStompHeaders.java @@ -105,6 +105,12 @@ public class DefaultStompHeaders extends DefaultTextHeaders implements StompHead return this; } + @Override + public StompHeaders addTimeMillis(CharSequence name, long value) { + super.addTimeMillis(name, value); + return this; + } + @Override public StompHeaders add(TextHeaders headers) { super.add(headers); @@ -195,6 +201,12 @@ public class DefaultStompHeaders extends DefaultTextHeaders implements StompHead return this; } + @Override + public StompHeaders setTimeMillis(CharSequence name, long value) { + super.setTimeMillis(name, value); + return this; + } + @Override public StompHeaders set(TextHeaders headers) { super.set(headers); diff --git a/codec-stomp/src/main/java/io/netty/handler/codec/stomp/StompHeaders.java b/codec-stomp/src/main/java/io/netty/handler/codec/stomp/StompHeaders.java index 839103e3a5..5bc5aeccdc 100644 --- a/codec-stomp/src/main/java/io/netty/handler/codec/stomp/StompHeaders.java +++ b/codec-stomp/src/main/java/io/netty/handler/codec/stomp/StompHeaders.java @@ -86,6 +86,9 @@ public interface StompHeaders extends TextHeaders { @Override StompHeaders addDouble(CharSequence name, double value); + @Override + StompHeaders addTimeMillis(CharSequence name, long value); + @Override StompHeaders add(TextHeaders headers); @@ -131,6 +134,9 @@ public interface StompHeaders extends TextHeaders { @Override StompHeaders setDouble(CharSequence name, double value); + @Override + StompHeaders setTimeMillis(CharSequence name, long value); + @Override StompHeaders set(TextHeaders headers); diff --git a/codec/src/main/java/io/netty/handler/codec/BinaryHeaders.java b/codec/src/main/java/io/netty/handler/codec/BinaryHeaders.java index 3aca485d19..a998decc0a 100644 --- a/codec/src/main/java/io/netty/handler/codec/BinaryHeaders.java +++ b/codec/src/main/java/io/netty/handler/codec/BinaryHeaders.java @@ -76,6 +76,9 @@ public interface BinaryHeaders extends Headers { @Override BinaryHeaders addDouble(AsciiString name, double value); + @Override + BinaryHeaders addTimeMillis(AsciiString name, long value); + /** * See {@link Headers#add(Headers)} */ @@ -123,6 +126,9 @@ public interface BinaryHeaders extends Headers { @Override BinaryHeaders setDouble(AsciiString name, double value); + @Override + BinaryHeaders setTimeMillis(AsciiString name, long value); + /** * See {@link Headers#set(Headers)} */ diff --git a/codec/src/main/java/io/netty/handler/codec/DefaultBinaryHeaders.java b/codec/src/main/java/io/netty/handler/codec/DefaultBinaryHeaders.java index 6861680caa..3c484603ed 100644 --- a/codec/src/main/java/io/netty/handler/codec/DefaultBinaryHeaders.java +++ b/codec/src/main/java/io/netty/handler/codec/DefaultBinaryHeaders.java @@ -81,6 +81,11 @@ public class DefaultBinaryHeaders extends DefaultHeaders implements return value.parseLong(); } + @Override + public AsciiString convertTimeMillis(long value) { + return new AsciiString(String.valueOf(value)); + } + @Override public long convertToTimeMillis(AsciiString value) { try { @@ -239,6 +244,12 @@ public class DefaultBinaryHeaders extends DefaultHeaders implements return this; } + @Override + public BinaryHeaders addTimeMillis(AsciiString name, long value) { + super.addTimeMillis(name, value); + return this; + } + @Override public BinaryHeaders add(BinaryHeaders headers) { super.add(headers); @@ -329,6 +340,12 @@ public class DefaultBinaryHeaders extends DefaultHeaders implements return this; } + @Override + public BinaryHeaders setTimeMillis(AsciiString name, long value) { + super.setTimeMillis(name, value); + return this; + } + @Override public BinaryHeaders set(BinaryHeaders headers) { super.set(headers); diff --git a/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java b/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java index 9a4780c8b3..206e481354 100644 --- a/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java +++ b/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java @@ -378,6 +378,11 @@ public class DefaultHeaders implements Headers { return contains(name, valueConverter.convertDouble(checkNotNull(value, "value"))); } + @Override + public boolean containsTimeMillis(T name, long value) { + return contains(name, valueConverter.convertTimeMillis(checkNotNull(value, "value"))); + } + @Override public boolean contains(T name, T value, Comparator comparator) { return contains(name, value, comparator, comparator); @@ -550,6 +555,11 @@ public class DefaultHeaders implements Headers { return add(name, valueConverter.convertDouble(value)); } + @Override + public Headers addTimeMillis(T name, long value) { + return add(name, valueConverter.convertTimeMillis(value)); + } + @Override public Headers addChar(T name, char value) { return add(name, valueConverter.convertChar(value)); @@ -690,6 +700,11 @@ public class DefaultHeaders implements Headers { return set(name, valueConverter.convertDouble(value)); } + @Override + public Headers setTimeMillis(T name, long value) { + return set(name, valueConverter.convertTimeMillis(value)); + } + @Override public Headers setFloat(T name, float value) { return set(name, valueConverter.convertFloat(value)); diff --git a/codec/src/main/java/io/netty/handler/codec/DefaultTextHeaders.java b/codec/src/main/java/io/netty/handler/codec/DefaultTextHeaders.java index 95fcfb69c6..dff2d214ac 100644 --- a/codec/src/main/java/io/netty/handler/codec/DefaultTextHeaders.java +++ b/codec/src/main/java/io/netty/handler/codec/DefaultTextHeaders.java @@ -119,6 +119,11 @@ public class DefaultTextHeaders extends DefaultConvertibleHeaders implements Bin return this; } + @Override + public BinaryHeaders addTimeMillis(AsciiString name, long value) { + super.addTimeMillis(name, value); + return this; + } + @Override public BinaryHeaders add(BinaryHeaders headers) { super.add(headers); @@ -194,6 +200,12 @@ public class EmptyBinaryHeaders extends EmptyHeaders implements Bin return this; } + @Override + public BinaryHeaders setTimeMillis(AsciiString name, long value) { + super.setTimeMillis(name, value); + return this; + } + @Override public BinaryHeaders set(BinaryHeaders headers) { super.set(headers); diff --git a/codec/src/main/java/io/netty/handler/codec/EmptyHeaders.java b/codec/src/main/java/io/netty/handler/codec/EmptyHeaders.java index 351381b7d1..48c5e52c3f 100644 --- a/codec/src/main/java/io/netty/handler/codec/EmptyHeaders.java +++ b/codec/src/main/java/io/netty/handler/codec/EmptyHeaders.java @@ -292,6 +292,11 @@ public class EmptyHeaders implements Headers { return false; } + @Override + public boolean containsTimeMillis(T name, long value) { + return false; + } + @Override public boolean contains(T name, T value, Comparator comparator) { return false; @@ -404,6 +409,11 @@ public class EmptyHeaders implements Headers { throw new UnsupportedOperationException("read only"); } + @Override + public Headers addTimeMillis(T name, long value) { + throw new UnsupportedOperationException("read only"); + } + @Override public Headers add(Headers headers) { throw new UnsupportedOperationException("read only"); @@ -479,6 +489,11 @@ public class EmptyHeaders implements Headers { throw new UnsupportedOperationException("read only"); } + @Override + public Headers setTimeMillis(T name, long value) { + throw new UnsupportedOperationException("read only"); + } + @Override public Headers set(Headers headers) { throw new UnsupportedOperationException("read only"); diff --git a/codec/src/main/java/io/netty/handler/codec/EmptyTextHeaders.java b/codec/src/main/java/io/netty/handler/codec/EmptyTextHeaders.java index 1f9a7dc43e..a221086860 100644 --- a/codec/src/main/java/io/netty/handler/codec/EmptyTextHeaders.java +++ b/codec/src/main/java/io/netty/handler/codec/EmptyTextHeaders.java @@ -114,6 +114,12 @@ public class EmptyTextHeaders extends EmptyConvertibleHeaders extends Iterable> { long convertToLong(T value); + T convertTimeMillis(long value); + long convertToTimeMillis(T value); T convertFloat(float value); @@ -626,6 +628,15 @@ public interface Headers extends Iterable> { */ boolean containsDouble(T name, double value); + /** + * Returns {@code true} if a header with the name and value exists. + * + * @param name the header name + * @param value the header value + * @return {@code true} if it contains it {@code false} otherwise + */ + boolean containsTimeMillis(T name, long value); + /** * Returns {@code true} if a header with the name and value exists. * @@ -857,6 +868,14 @@ public interface Headers extends Iterable> { */ Headers addDouble(T name, double value); + /** + * Add the {@code name} to {@code value}. + * @param name The name to modify + * @param value The value + * @return {@code this} + */ + Headers addTimeMillis(T name, long value); + /** * Adds all header entries of the specified {@code headers}. * @@ -1034,6 +1053,14 @@ public interface Headers extends Iterable> { */ Headers setDouble(T name, double value); + /** + * Set the {@code name} to {@code value}. This will remove all previous values associated with {@code name}. + * @param name The name to modify + * @param value The value + * @return {@code this} + */ + Headers setTimeMillis(T name, long value); + /** * Cleans the current header entries and copies all header entries of the specified {@code headers}. * diff --git a/codec/src/main/java/io/netty/handler/codec/TextHeaders.java b/codec/src/main/java/io/netty/handler/codec/TextHeaders.java index 5798acd057..0eb14ff071 100644 --- a/codec/src/main/java/io/netty/handler/codec/TextHeaders.java +++ b/codec/src/main/java/io/netty/handler/codec/TextHeaders.java @@ -95,6 +95,9 @@ public interface TextHeaders extends ConvertibleHeaders { @Override TextHeaders addDouble(CharSequence name, double value); + @Override + TextHeaders addTimeMillis(CharSequence name, long value); + /** * See {@link Headers#add(Headers)} */ @@ -142,6 +145,9 @@ public interface TextHeaders extends ConvertibleHeaders { @Override TextHeaders setDouble(CharSequence name, double value); + @Override + TextHeaders setTimeMillis(CharSequence name, long value); + /** * See {@link Headers#set(Headers)} */