Class RequestResponse<T>

java.lang.Object
fr.gouv.vitam.common.model.RequestResponse<T>
Direct Known Subclasses:
RequestResponseOK, VitamError

public abstract class RequestResponse<T> extends Object
Abstract RequestResponse for all request response in Vitam
  • Constructor Details

    • RequestResponse

      public RequestResponse()
  • Method Details

    • getHttpCode

      public int getHttpCode()
      Returns:
      the httpCode
    • setHttpCode

      public RequestResponse<T> setHttpCode(int httpCode)
      Parameters:
      httpCode - the httpCode to set
      Returns:
      this
    • getStatus

      public int getStatus()
    • isOk

      public boolean isOk()
      Returns:
      True if this RequestResponse is an Ok response
    • addHeader

      public RequestResponse<T> addHeader(String key, String value)
    • getHeaderString

      public String getHeaderString(String key)
    • getVitamHeaders

      public Map<String,String> getVitamHeaders()
    • unSetVitamHeaders

      public void unSetVitamHeaders()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toJsonNode

      public com.fasterxml.jackson.databind.JsonNode toJsonNode()
      Returns:
      the Json representation
      Throws:
      IllegalStateException - if JsonNode parse exception occurred
    • parseHeadersFromResponse

      public RequestResponse<T> parseHeadersFromResponse(javax.ws.rs.core.Response response)
    • parseFromResponse

      public static RequestResponse<com.fasterxml.jackson.databind.JsonNode> parseFromResponse(javax.ws.rs.core.Response response) throws IllegalStateException
      Parser the response for a RequestResponse object.

      Might return an empty VitamError in case response is empty with only the HttpCode set and the Code set to empty String.
      Parameters:
      response - to parse in RequestResponse
      Returns:
      The associate RequestResponseOk or VitamError
      Throws:
      IllegalStateException - if the response cannot be parsed to one of the two model
    • parseFromResponse

      public static <T> RequestResponse<T> parseFromResponse(javax.ws.rs.core.Response response, Class<T> clazz) throws IllegalStateException
      Parser the response for a RequestResponse object.

      Might return an empty VitamError in case response is empty with only the HttpCode set and the Code set to empty String.
      Parameters:
      response - to parse in RequestResponse
      Returns:
      The associate RequestResponseOk or VitamError
      Throws:
      IllegalStateException - if the response cannot be parsed to one of the two model
    • parseRequestResponseOk

      public static <T> RequestResponseOK<T> parseRequestResponseOk(javax.ws.rs.core.Response response, Class<T> clasz) throws InvalidParseOperationException
      Parameters:
      response - to parse in RequestResponse
      Returns:
      the RequestResponseOk
      Throws:
      InvalidParseOperationException - if JsonNode parse exception occurred
    • parseRequestResponseOk

      public static RequestResponseOK<com.fasterxml.jackson.databind.JsonNode> parseRequestResponseOk(javax.ws.rs.core.Response response) throws InvalidParseOperationException
      Parameters:
      response - to parse in RequestResponse
      Returns:
      the RequestResponseOk
      Throws:
      InvalidParseOperationException - if JsonNode parse exception occurred
    • parseVitamError

      public static <T> VitamError<T> parseVitamError(javax.ws.rs.core.Response response, Class<T> clasz) throws InvalidParseOperationException
      Parameters:
      response - to parse in RequestResponse
      Returns:
      the VitamError
      Throws:
      InvalidParseOperationException - if JsonNode parse exception occurred
    • parseVitamError

      public static VitamError<com.fasterxml.jackson.databind.JsonNode> parseVitamError(javax.ws.rs.core.Response response) throws InvalidParseOperationException
      Parameters:
      response - to parse in RequestResponse
      Returns:
      the VitamError
      Throws:
      InvalidParseOperationException - if JsonNode parse exception occurred
    • isRequestResponseOk

      public static boolean isRequestResponseOk(com.fasterxml.jackson.databind.JsonNode requestResponseAsJsonNode) throws IllegalStateException
      Check if the JsonNode is a RequestResponse and OK
      Parameters:
      requestResponseAsJsonNode - as request response as a JsonNode
      Returns:
      true if JsonNode contains httpCode as 2xx or 3xx, false if httpCode as 4xx or 5xx
      Throws:
      IllegalStateException - if JsonNode is not a valid instance of requestResponse
    • isRequestResponseEmpty

      public static boolean isRequestResponseEmpty(com.fasterxml.jackson.databind.JsonNode requestResponseAsJsonNode)
      Check if the JsonNode is a RequestResponse and result is Empty
      Parameters:
      requestResponseAsJsonNode - as request response as a JsonNode
      Returns:
      true if JsonNode contains hits and total = 0
    • toResponse

      public abstract javax.ws.rs.core.Response toResponse()
      transform a RequestResponse to a standard response
      Returns:
      Response