Package org.apache.hc.core5.http.message
Class AbstractMessageWrapper<T extends HttpMessage>
- java.lang.Object
-
- org.apache.hc.core5.http.message.AbstractMessageWrapper<T>
-
- Type Parameters:
T
- AHttpMessage
type.
- All Implemented Interfaces:
HttpMessage
,MessageHeaders
- Direct Known Subclasses:
HttpRequestWrapper
,HttpResponseWrapper
public abstract class AbstractMessageWrapper<T extends HttpMessage> extends java.lang.Object implements HttpMessage
AbstractHttpMessage
wrapper.
-
-
Constructor Summary
Constructors Constructor Description AbstractMessageWrapper(T message)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addHeader(java.lang.String name, java.lang.Object value)
Adds a header to this message.void
addHeader(Header header)
Adds a header to this message.boolean
containsHeader(java.lang.String name)
Checks if a certain header is present in this message.int
countHeaders(java.lang.String name)
Checks if a certain header is present in this message and how many times.Header
getFirstHeader(java.lang.String name)
Returns the first header with a specified name of this message.Header
getHeader(java.lang.String name)
Gets single first header with the given name.Header[]
getHeaders()
Returns all the headers of this message.Header[]
getHeaders(java.lang.String name)
Returns all the headers with a specified name of this message.Header
getLastHeader(java.lang.String name)
Returns the last header with a specified name of this message.(package private) T
getMessage()
ProtocolVersion
getVersion()
Returns protocol version ornull
when not available.java.util.Iterator<Header>
headerIterator()
Returns an iterator of all the headers.java.util.Iterator<Header>
headerIterator(java.lang.String name)
Returns an iterator of the headers with a given name.boolean
removeHeader(Header header)
Removes a header from this message.boolean
removeHeaders(java.lang.String name)
Removes all headers with a certain name from this message.void
setHeader(java.lang.String name, java.lang.Object value)
Overwrites the first header with the same name.void
setHeader(Header header)
Overwrites the first header with the same name.void
setHeaders(Header... headers)
Overwrites all the headers in the message.void
setVersion(ProtocolVersion version)
Sets protocol version.java.lang.String
toString()
-
-
-
Field Detail
-
message
private final T extends HttpMessage message
-
-
Constructor Detail
-
AbstractMessageWrapper
public AbstractMessageWrapper(T message)
-
-
Method Detail
-
setVersion
public void setVersion(ProtocolVersion version)
Description copied from interface:HttpMessage
Sets protocol version.For incoming messages it represents protocol version this message was transmitted with. For outgoing messages it represents a hint what protocol version should be used to transmit the message.
- Specified by:
setVersion
in interfaceHttpMessage
-
getVersion
public ProtocolVersion getVersion()
Description copied from interface:HttpMessage
Returns protocol version ornull
when not available.For incoming messages it represents protocol version this message was transmitted with. For outgoing messages it represents a hint what protocol version should be used to transmit the message.
- Specified by:
getVersion
in interfaceHttpMessage
-
addHeader
public void addHeader(Header header)
Description copied from interface:HttpMessage
Adds a header to this message. The header will be appended to the end of the list.- Specified by:
addHeader
in interfaceHttpMessage
- Parameters:
header
- the header to append.
-
addHeader
public void addHeader(java.lang.String name, java.lang.Object value)
Description copied from interface:HttpMessage
Adds a header to this message. The header will be appended to the end of the list.- Specified by:
addHeader
in interfaceHttpMessage
- Parameters:
name
- the name of the header.value
- the value of the header, taken as the value'sObject.toString()
.
-
setHeader
public void setHeader(Header header)
Description copied from interface:HttpMessage
Overwrites the first header with the same name. The new header will be appended to the end of the list, if no header with the given name can be found.- Specified by:
setHeader
in interfaceHttpMessage
- Parameters:
header
- the header to set.
-
setHeader
public void setHeader(java.lang.String name, java.lang.Object value)
Description copied from interface:HttpMessage
Overwrites the first header with the same name. The new header will be appended to the end of the list, if no header with the given name can be found.- Specified by:
setHeader
in interfaceHttpMessage
- Parameters:
name
- the name of the header.value
- the value of the header, taken as the value'sObject.toString()
.
-
setHeaders
public void setHeaders(Header... headers)
Description copied from interface:HttpMessage
Overwrites all the headers in the message.- Specified by:
setHeaders
in interfaceHttpMessage
- Parameters:
headers
- the array of headers to set.
-
removeHeader
public boolean removeHeader(Header header)
Description copied from interface:HttpMessage
Removes a header from this message.- Specified by:
removeHeader
in interfaceHttpMessage
- Parameters:
header
- the header to remove.- Returns:
true
if a header was removed as a result of this call.
-
removeHeaders
public boolean removeHeaders(java.lang.String name)
Description copied from interface:HttpMessage
Removes all headers with a certain name from this message.- Specified by:
removeHeaders
in interfaceHttpMessage
- Parameters:
name
- The name of the headers to remove.- Returns:
true
if any header was removed as a result of this call.
-
containsHeader
public boolean containsHeader(java.lang.String name)
Description copied from interface:MessageHeaders
Checks if a certain header is present in this message. Header values are ignored.- Specified by:
containsHeader
in interfaceMessageHeaders
- Parameters:
name
- the header name to check for.- Returns:
- true if at least one header with this name is present.
-
countHeaders
public int countHeaders(java.lang.String name)
Description copied from interface:MessageHeaders
Checks if a certain header is present in this message and how many times.- Specified by:
countHeaders
in interfaceMessageHeaders
- Parameters:
name
- the header name to check for.- Returns:
- number of occurrences of the header in the message.
-
getHeaders
public Header[] getHeaders(java.lang.String name)
Description copied from interface:MessageHeaders
Returns all the headers with a specified name of this message. Header values are ignored. Headers are ordered in the sequence they will be sent over a connection.- Specified by:
getHeaders
in interfaceMessageHeaders
- Parameters:
name
- the name of the headers to return.- Returns:
- the headers whose name property equals
name
.
-
getHeader
public Header getHeader(java.lang.String name) throws ProtocolException
Description copied from interface:MessageHeaders
Gets single first header with the given name.Header name comparison is case insensitive.
- Specified by:
getHeader
in interfaceMessageHeaders
- Parameters:
name
- the name of the header to get- Returns:
- the first header or
null
- Throws:
ProtocolException
- in case multiple headers with the given name are found.
-
getFirstHeader
public Header getFirstHeader(java.lang.String name)
Description copied from interface:MessageHeaders
Returns the first header with a specified name of this message. Header values are ignored. If there is more than one matching header in the message the first element ofMessageHeaders.getHeaders(String)
is returned. If there is no matching header in the messagenull
is returned.- Specified by:
getFirstHeader
in interfaceMessageHeaders
- Parameters:
name
- the name of the header to return.- Returns:
- the first header whose name property equals
name
ornull
if no such header could be found.
-
getLastHeader
public Header getLastHeader(java.lang.String name)
Description copied from interface:MessageHeaders
Returns the last header with a specified name of this message. Header values are ignored. If there is more than one matching header in the message the last element ofMessageHeaders.getHeaders(String)
is returned. If there is no matching header in the messagenull
is returned.- Specified by:
getLastHeader
in interfaceMessageHeaders
- Parameters:
name
- the name of the header to return.- Returns:
- the last header whose name property equals
name
. ornull
if no such header could be found.
-
getMessage
T getMessage()
-
getHeaders
public Header[] getHeaders()
Description copied from interface:MessageHeaders
Returns all the headers of this message. Headers are ordered in the sequence they will be sent over a connection.- Specified by:
getHeaders
in interfaceMessageHeaders
- Returns:
- all the headers of this message
-
headerIterator
public java.util.Iterator<Header> headerIterator()
Description copied from interface:MessageHeaders
Returns an iterator of all the headers.- Specified by:
headerIterator
in interfaceMessageHeaders
- Returns:
- Iterator that returns Header objects in the sequence they are sent over a connection.
-
headerIterator
public java.util.Iterator<Header> headerIterator(java.lang.String name)
Description copied from interface:MessageHeaders
Returns an iterator of the headers with a given name.- Specified by:
headerIterator
in interfaceMessageHeaders
- Parameters:
name
- the name of the headers over which to iterate, ornull
for all headers- Returns:
- Iterator that returns Header objects with the argument name in the sequence they are sent over a connection.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-