Interface PostResponse

All Known Implementing Classes:
AbstractPostResponse, AbstractPostResponseWrapper, HtmlPostResponseProxy, HtmlResponse, JSONResponse

public interface PostResponse
The PostResponse interface defines the API of a response container which can (and should) be used by PostOperation services to prepare responses to be sent back to the client.

This bundle provides a preconfigured HtmlResponse and a JSONResponse implementation of this interface. Clients may extend the AbstractPostResponse class to provide their own response implementations.

  • Method Details

    • setReferer

      void setReferer(String referer)
      Sets the referer property
      Parameters:
      referer - the referer
    • getReferer

      String getReferer()
      Returns the referer previously set by setReferer(String)
      Returns:
      the referer
    • setPath

      void setPath(String path)
      Sets the absolute path of the item upon which the request operated.
      Parameters:
      path - the path
    • getPath

      String getPath()
      Returns the absolute path of the item upon which the request operated.

      If the setPath(String) method has not been called yet, this method returns null.

      Returns:
      the path (might be null)
    • setCreateRequest

      void setCreateRequest(boolean isCreateRequest)
      Sets whether the request was a create request or not.
      Parameters:
      isCreateRequest - true if the request was a create request
    • isCreateRequest

      boolean isCreateRequest()
      Returns true if this was a create request.

      Before calling the setCreateRequest(boolean) method, this method always returns false.

      Returns:
      if this was a create request
    • setLocation

      void setLocation(String location)
      Sets the location of this modification. This is the externalized form of the current path.
      Parameters:
      location - the location
    • getLocation

      String getLocation()
      Returns the location of the modification.

      If the setLocation(String) method has not been called yet, this method returns null.

      Returns:
      the location
    • setParentLocation

      void setParentLocation(String parentLocation)
      Sets the parent location of the modification. This is the externalized form of the parent node of the current path.
      Parameters:
      parentLocation - the parent location of the modification
    • getParentLocation

      String getParentLocation()
      Returns the parent location of the modification.

      If the setParentLocation(String) method has not been called yet, this method returns null.

      Returns:
      the parent location
    • setTitle

      void setTitle(String title)
      Sets the title of the response message
      Parameters:
      title - the title
    • setStatus

      void setStatus(int code, String message)
      Sets the response status code properties
      Parameters:
      code - the code
      message - the message
    • getStatusCode

      int getStatusCode()
      Returns the status code of this instance. If the status code has never been set by calling the setStatus(int, String) method, the status code is determined by checking if there was an error. If there was an error, the response is assumed to be unsuccessful and 500 is returned. If there is no error, the response is assumed to be successful and 200 is returned.
      Returns:
      the status code
    • getStatusMessage

      String getStatusMessage()
      Returns the status message or null if no has been set with the setStatus(int, String) method.
      Returns:
      the status message (might be null)
    • setError

      void setError(Throwable error)
      Sets the recorded error causing the operation to fail.
      Parameters:
      error - the throwable
    • getError

      Throwable getError()
      Returns any recorded error or null
      Returns:
      an error or null
    • isSuccessful

      boolean isSuccessful()
      Returns true if no error is set and if the status code is one of the 2xx codes.
      Returns:
      true if the status code is 2xx
    • onCreated

      void onCreated(String path)
      Records a 'created' change
      Parameters:
      path - path of the item that was created
    • onModified

      void onModified(String path)
      Records a 'modified' change
      Parameters:
      path - path of the item that was modified
    • onDeleted

      void onDeleted(String path)
      Records a 'deleted' change
      Parameters:
      path - path of the item that was deleted
    • onMoved

      void onMoved(String srcPath, String dstPath)
      Records a 'moved' change.

      Note: the moved change only records the basic move command. the implied changes on the moved properties and sub nodes are not recorded.

      Parameters:
      srcPath - source path of the node that was moved
      dstPath - destination path of the node that was moved.
    • onCopied

      void onCopied(String srcPath, String dstPath)
      Records a 'copied' change.

      Note: the copy change only records the basic copy command. the implied changes on the copied properties and sub nodes are not recorded.

      Parameters:
      srcPath - source path of the node that was copied
      dstPath - destination path of the node that was copied.
    • onChange

      void onChange(String type, String... arguments)
      Records a generic change of the given type with arguments.
      Parameters:
      type - The type of the modification
      arguments - The arguments to the modifications
    • send

      void send(javax.servlet.http.HttpServletResponse response, boolean setStatus) throws IOException
      Writes the response back over the provided HTTP channel. The actual format of the response is implementation dependent.
      Parameters:
      response - to send to
      setStatus - whether to set the status code on the response
      Throws:
      IOException - if an i/o exception occurs