Class ODataResponse

java.lang.Object
org.apache.olingo.odata2.api.processor.ODataResponse
Direct Known Subclasses:
ODataResponseImpl

public abstract class ODataResponse extends Object

An ODataResponse is usually created by an ODataProcessor during request handling.

The handler can use a serializer to create an OData body (== response entity) and can set various response headers. A response can be created using the builder pattern:

 
 ODataResponse response = ODataResponse.entity("hello world").setStatus(HttpStatusCodes.OK).build();
  
  • Field Details

    • CHARSET_MATCHER_PATTERN

      public static final Pattern CHARSET_MATCHER_PATTERN
  • Constructor Details

    • ODataResponse

      protected ODataResponse()
      Do not subclass ODataResponse!
  • Method Details

    • getStatus

      public abstract HttpStatusCodes getStatus()
      Returns:
      HTTP status code of this response
    • getEntity

      public abstract Object getEntity()
      Returns:
      a response entity which becomes the body part of a response message
    • getEntityAsStream

      public InputStream getEntityAsStream() throws ODataException
      Returns:
      a response entity as inputStream which becomes the body part of a response message
      Throws:
      ODataException - throws ODataException in case of entity is not a stream (internal ClassCastException)
    • close

      public abstract void close() throws IOException
      Close the underlying entity input stream (if such a stream is available) and release all with this repsonse associated resources.
      Throws:
      IOException - if something goes wrong during close of ODataResponse
    • getHeader

      public abstract String getHeader(String name)
      Parameters:
      name - HTTP response header name
      Returns:
      a header value or null if not set
    • getContentHeader

      public abstract String getContentHeader()
      Returns:
      Content-Type header value or null if not set
    • getIdLiteral

      public abstract String getIdLiteral()
      Returns:
      Location header value or null if not set
    • getETag

      public abstract String getETag()
      Returns:
      ETag header value or null if not available
    • getHeaderNames

      public abstract Set<String> getHeaderNames()
      Returns:
      a set of all available header names
    • containsHeader

      public abstract boolean containsHeader(String header)
      Case insensitive check if the header is available in this ODataResponse
      Parameters:
      header - header name
      Returns:
      true/false
    • status

      public static ODataResponse.ODataResponseBuilder status(HttpStatusCodes status)
      Parameters:
      status - HTTP status code
      Returns:
      a builder object
    • fromResponse

      public static ODataResponse.ODataResponseBuilder fromResponse(ODataResponse response)
      Parameters:
      response -
      Returns:
      a new builder object
    • entity

      public static ODataResponse.ODataResponseBuilder entity(Object entity)
      Parameters:
      entity -
      Returns:
      a builder object
    • header

      public static ODataResponse.ODataResponseBuilder header(String name, String value)
      Parameters:
      name - HTTP header name
      value - associated value
      Returns:
      a builder object
    • contentHeader

      public static ODataResponse.ODataResponseBuilder contentHeader(String value)
      Parameters:
      value - content header value
      Returns:
      a builder object
    • newBuilder

      public static ODataResponse.ODataResponseBuilder newBuilder()
      Returns:
      returns a new builder object