Class AbstractPostResponseWrapper

  • All Implemented Interfaces:
    PostResponse

    public abstract class AbstractPostResponseWrapper
    extends java.lang.Object
    implements PostResponse
    Provides a simple implementation of PostResponse that can be subclassed by developers wishing to provide specialized behavior to an existing PostResponse instance. The default implementation of all methods is to call through to the wrapped PostResponse instance.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Throwable getError()
      Returns any recorded error or null
      java.lang.String getLocation()
      Returns the location of the modification.
      java.lang.String getParentLocation()
      Returns the parent location of the modification.
      java.lang.String getPath()
      Returns the absolute path of the item upon which the request operated.
      java.lang.String getReferer()
      Returns the referer previously set by PostResponse.setReferer(String)
      int getStatusCode()
      Returns the status code of this instance.
      java.lang.String getStatusMessage()
      Returns the status message or null if no has been set with the PostResponse.setStatus(int, String) method.
      abstract PostResponse getWrapped()
      Use this method to return an instance of the class being wrapped.
      boolean isCreateRequest()
      Returns true if this was a create request.
      boolean isSuccessful()
      Returns true if no error is set and if the status code is one of the 2xx codes.
      void onChange​(java.lang.String type, java.lang.String... arguments)
      Records a generic change of the given type with arguments.
      void onCopied​(java.lang.String srcPath, java.lang.String dstPath)
      Records a 'copied' change.
      void onCreated​(java.lang.String path)
      Records a 'created' change
      void onDeleted​(java.lang.String path)
      Records a 'deleted' change
      void onModified​(java.lang.String path)
      Records a 'modified' change
      void onMoved​(java.lang.String srcPath, java.lang.String dstPath)
      Records a 'moved' change.
      void send​(HttpServletResponse response, boolean setStatus)
      Writes the response back over the provided HTTP channel.
      void setCreateRequest​(boolean isCreateRequest)
      Sets whether the request was a create request or not.
      void setError​(java.lang.Throwable error)
      Sets the recorded error causing the operation to fail.
      void setLocation​(java.lang.String location)
      Sets the location of this modification.
      void setParentLocation​(java.lang.String parentLocation)
      Sets the parent location of the modification.
      void setPath​(java.lang.String path)
      Sets the absolute path of the item upon which the request operated.
      void setReferer​(java.lang.String referer)
      Sets the referer property
      void setStatus​(int code, java.lang.String message)
      Sets the response status code properties
      void setTitle​(java.lang.String title)
      Sets the title of the response message
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractPostResponseWrapper

        public AbstractPostResponseWrapper()
    • Method Detail

      • getWrapped

        public abstract PostResponse getWrapped()
        Use this method to return an instance of the class being wrapped.
        Returns:
        the wrapped PostResponse instance
      • setReferer

        public void setReferer​(java.lang.String referer)
        Description copied from interface: PostResponse
        Sets the referer property
        Specified by:
        setReferer in interface PostResponse
        Parameters:
        referer - the referer
      • setPath

        public void setPath​(java.lang.String path)
        Description copied from interface: PostResponse
        Sets the absolute path of the item upon which the request operated.
        Specified by:
        setPath in interface PostResponse
        Parameters:
        path - the path
      • getPath

        public java.lang.String getPath()
        Description copied from interface: PostResponse
        Returns the absolute path of the item upon which the request operated.

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

        Specified by:
        getPath in interface PostResponse
        Returns:
        the path (might be null)
      • setCreateRequest

        public void setCreateRequest​(boolean isCreateRequest)
        Description copied from interface: PostResponse
        Sets whether the request was a create request or not.
        Specified by:
        setCreateRequest in interface PostResponse
        Parameters:
        isCreateRequest - true if the request was a create request
      • setLocation

        public void setLocation​(java.lang.String location)
        Description copied from interface: PostResponse
        Sets the location of this modification. This is the externalized form of the current path.
        Specified by:
        setLocation in interface PostResponse
        Parameters:
        location - the location
      • setParentLocation

        public void setParentLocation​(java.lang.String parentLocation)
        Description copied from interface: PostResponse
        Sets the parent location of the modification. This is the externalized form of the parent node of the current path.
        Specified by:
        setParentLocation in interface PostResponse
        Parameters:
        parentLocation - the parent location of the modification
      • setTitle

        public void setTitle​(java.lang.String title)
        Description copied from interface: PostResponse
        Sets the title of the response message
        Specified by:
        setTitle in interface PostResponse
        Parameters:
        title - the title
      • setStatus

        public void setStatus​(int code,
                              java.lang.String message)
        Description copied from interface: PostResponse
        Sets the response status code properties
        Specified by:
        setStatus in interface PostResponse
        Parameters:
        code - the code
        message - the message
      • getStatusCode

        public int getStatusCode()
        Description copied from interface: PostResponse
        Returns the status code of this instance. If the status code has never been set by calling the PostResponse.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.
        Specified by:
        getStatusCode in interface PostResponse
        Returns:
        the status code
      • setError

        public void setError​(java.lang.Throwable error)
        Description copied from interface: PostResponse
        Sets the recorded error causing the operation to fail.
        Specified by:
        setError in interface PostResponse
        Parameters:
        error - the throwable
      • getError

        public java.lang.Throwable getError()
        Description copied from interface: PostResponse
        Returns any recorded error or null
        Specified by:
        getError in interface PostResponse
        Returns:
        an error or null
      • isSuccessful

        public boolean isSuccessful()
        Description copied from interface: PostResponse
        Returns true if no error is set and if the status code is one of the 2xx codes.
        Specified by:
        isSuccessful in interface PostResponse
        Returns:
        true if the status code is 2xx
      • onCreated

        public void onCreated​(java.lang.String path)
        Description copied from interface: PostResponse
        Records a 'created' change
        Specified by:
        onCreated in interface PostResponse
        Parameters:
        path - path of the item that was created
      • onModified

        public void onModified​(java.lang.String path)
        Description copied from interface: PostResponse
        Records a 'modified' change
        Specified by:
        onModified in interface PostResponse
        Parameters:
        path - path of the item that was modified
      • onDeleted

        public void onDeleted​(java.lang.String path)
        Description copied from interface: PostResponse
        Records a 'deleted' change
        Specified by:
        onDeleted in interface PostResponse
        Parameters:
        path - path of the item that was deleted
      • onMoved

        public void onMoved​(java.lang.String srcPath,
                            java.lang.String dstPath)
        Description copied from interface: PostResponse
        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.

        Specified by:
        onMoved in interface PostResponse
        Parameters:
        srcPath - source path of the node that was moved
        dstPath - destination path of the node that was moved.
      • onCopied

        public void onCopied​(java.lang.String srcPath,
                             java.lang.String dstPath)
        Description copied from interface: PostResponse
        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.

        Specified by:
        onCopied in interface PostResponse
        Parameters:
        srcPath - source path of the node that was copied
        dstPath - destination path of the node that was copied.
      • onChange

        public void onChange​(java.lang.String type,
                             java.lang.String... arguments)
        Description copied from interface: PostResponse
        Records a generic change of the given type with arguments.
        Specified by:
        onChange in interface PostResponse
        Parameters:
        type - The type of the modification
        arguments - The arguments to the modifications
      • send

        public void send​(HttpServletResponse response,
                         boolean setStatus)
                  throws java.io.IOException
        Description copied from interface: PostResponse
        Writes the response back over the provided HTTP channel. The actual format of the response is implementation dependent.
        Specified by:
        send in interface PostResponse
        Parameters:
        response - to send to
        setStatus - whether to set the status code on the response
        Throws:
        java.io.IOException - if an i/o exception occurs