Class AbstractMessageWrapper<T extends HttpMessage>

java.lang.Object
org.apache.hc.core5.http.message.AbstractMessageWrapper<T>
Type Parameters:
T - A HttpMessage type.
All Implemented Interfaces:
HttpMessage, MessageHeaders
Direct Known Subclasses:
HttpRequestWrapper, HttpResponseWrapper

public abstract class AbstractMessageWrapper<T extends HttpMessage> extends Object implements HttpMessage
Abstract HttpMessage wrapper.
  • Field Details

  • Constructor Details

    • AbstractMessageWrapper

      public AbstractMessageWrapper(T message)
  • Method Details

    • 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 interface HttpMessage
    • getVersion

      public ProtocolVersion getVersion()
      Description copied from interface: HttpMessage
      Returns protocol version or null 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 interface HttpMessage
    • 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 interface HttpMessage
      Parameters:
      header - the header to append.
    • addHeader

      public void addHeader(String name, 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 interface HttpMessage
      Parameters:
      name - the name of the header.
      value - the value of the header, taken as the value's Object.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 interface HttpMessage
      Parameters:
      header - the header to set.
    • setHeader

      public void setHeader(String name, 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 interface HttpMessage
      Parameters:
      name - the name of the header.
      value - the value of the header, taken as the value's Object.toString().
    • setHeaders

      public void setHeaders(Header... headers)
      Description copied from interface: HttpMessage
      Overwrites all the headers in the message.
      Specified by:
      setHeaders in interface HttpMessage
      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 interface HttpMessage
      Parameters:
      header - the header to remove.
      Returns:
      true if a header was removed as a result of this call.
    • removeHeaders

      public boolean removeHeaders(String name)
      Description copied from interface: HttpMessage
      Removes all headers with a certain name from this message.
      Specified by:
      removeHeaders in interface HttpMessage
      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(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 interface MessageHeaders
      Parameters:
      name - the header name to check for.
      Returns:
      true if at least one header with this name is present.
    • countHeaders

      public int countHeaders(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 interface MessageHeaders
      Parameters:
      name - the header name to check for.
      Returns:
      number of occurrences of the header in the message.
    • getHeaders

      public Header[] getHeaders(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 interface MessageHeaders
      Parameters:
      name - the name of the headers to return.
      Returns:
      the headers whose name property equals name.
    • getHeader

      public Header getHeader(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 interface MessageHeaders
      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(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 of MessageHeaders.getHeaders(String) is returned. If there is no matching header in the message null is returned.
      Specified by:
      getFirstHeader in interface MessageHeaders
      Parameters:
      name - the name of the header to return.
      Returns:
      the first header whose name property equals name or null if no such header could be found.
    • getLastHeader

      public Header getLastHeader(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 of MessageHeaders.getHeaders(String) is returned. If there is no matching header in the message null is returned.
      Specified by:
      getLastHeader in interface MessageHeaders
      Parameters:
      name - the name of the header to return.
      Returns:
      the last header whose name property equals name. or null 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 interface MessageHeaders
      Returns:
      all the headers of this message
    • headerIterator

      public Iterator<Header> headerIterator()
      Description copied from interface: MessageHeaders
      Returns an iterator of all the headers.
      Specified by:
      headerIterator in interface MessageHeaders
      Returns:
      Iterator that returns Header objects in the sequence they are sent over a connection.
    • headerIterator

      public Iterator<Header> headerIterator(String name)
      Description copied from interface: MessageHeaders
      Returns an iterator of the headers with a given name.
      Specified by:
      headerIterator in interface MessageHeaders
      Parameters:
      name - the name of the headers over which to iterate, or null for all headers
      Returns:
      Iterator that returns Header objects with the argument name in the sequence they are sent over a connection.
    • toString

      public String toString()
      Overrides:
      toString in class Object