Class PayloadImpl.Outbound

    • Constructor Detail

      • Outbound

        public Outbound()
    • Method Detail

      • addPart

        public void addPart​(String contentType,
                            String name,
                            Properties props,
                            String content)
                     throws IOException
        Description copied from interface: Payload.Outbound
        Adds a part of the specified content type, name, and String content to the payload.
        Specified by:
        addPart in interface Payload.Outbound
        Parameters:
        contentType - content type of the part
        name - name to be assigned to the part
        props - Properties to be included with the part
        content - String containing the content for the part
        Throws:
        IOException
      • addPart

        public void addPart​(String contentType,
                            String name,
                            Properties props,
                            InputStream content)
                     throws IOException
        Description copied from interface: Payload.Outbound
        Adds a part of the specified content type, name, and content to the payload.
        Specified by:
        addPart in interface Payload.Outbound
        Parameters:
        contentType - content type of the part
        name - name to be assigned to the part
        props - Properties to be included with the part
        content - InputStream furnishing the content for this part
        Throws:
        IOException
      • addPart

        public void addPart​(int index,
                            String contentType,
                            String name,
                            Properties props,
                            InputStream content)
                     throws IOException
        Description copied from interface: Payload.Outbound
        Adds a part of the specified content type, name, and content at a specified position in the parts of the payload.
        Specified by:
        addPart in interface Payload.Outbound
        Parameters:
        index - position (zero-based) where the part should be added
        contentType - content type of the part
        name - name to be assigned to thepart
        props - Properties to be included with the part
        content - InputStream furnishing the content for this part
        Throws:
        IOException
      • attachFile

        public void attachFile​(String contentType,
                               URI fileURI,
                               String dataRequestName,
                               File file)
                        throws IOException
        Description copied from interface: Payload.Outbound
        Adds a part to the payload of the given content type from the specified file. The name assigned to the new part is the URI for the file relativized according to the specified file URI. The properties which indicate that this is file transfer data request are set automatically.

        If the file argument specifies a directory, only the directory - not its contents - are attached to the payload. To include the directory and its contents use Payload.Outbound.attachFile(java.lang.String, java.net.URI, java.lang.String, java.io.File, boolean) and specify the recursive argument as true.

        Specified by:
        attachFile in interface Payload.Outbound
        Parameters:
        contentType - content type of the part
        fileURI - URI relative to which the part's name should be computed
        dataRequestName - name identifying which part of a request this file answers
        file - File containing the content for the part
        Throws:
        IOException
      • attachFile

        public void attachFile​(String contentType,
                               URI fileURI,
                               String dataRequestName,
                               File file,
                               boolean isRecursive)
                        throws IOException
        Description copied from interface: Payload.Outbound
        Adds a part to the payload of the given content type from the specified file. The name assigned to the new part is the URI for the file relativized according to the specified file URI. The properties which indicate that this is file transfer data request are set automatically.
        Specified by:
        attachFile in interface Payload.Outbound
        Parameters:
        contentType - content type of the part
        fileURI - URI relative to which the part's name should be computed
        dataRequestName - name identifying which part of a request this file answers
        file - File containing the content for the part
        isRecursive - if file is a directory, whether to add its contents as well
        Throws:
        IOException
      • attachFile

        public void attachFile​(String contentType,
                               URI fileURI,
                               String dataRequestName,
                               Properties props,
                               File file)
                        throws IOException
        Description copied from interface: Payload.Outbound
        Adds a part to the payload of the given content type from the specified file. The name assigned to the new part is the URI for the file relativized according to the specified file URI. The properties which indicate that this is a file transfer data request are set automatically and added to the properties passed by the caller.
        Specified by:
        attachFile in interface Payload.Outbound
        Parameters:
        contentType - content type of the part
        fileURI - URI relative to which the part's name should be computed
        dataRequestName - name identifying which part of a request this file answers
        props - Properties to be included with the part
        file - File containing the content for the part
        Throws:
        IOException
      • attachFile

        public void attachFile​(String contentType,
                               URI fileURI,
                               String dataRequestName,
                               Properties props,
                               File file,
                               boolean isRecursive)
                        throws IOException
        Description copied from interface: Payload.Outbound
        Adds a part to the payload of the given content type from the specified file. The name assigned to the new part is the URI for the file relativized according to the specified file URI. The properties which indicate that this is a file transfer data request are set automatically and added to the properties passed by the caller.
        Specified by:
        attachFile in interface Payload.Outbound
        Parameters:
        contentType - content type of the part
        fileURI - URI relative to which the part's name should be computed
        dataRequestName - name identifying which part of a request this file answers
        props - Properties to be included with the part
        file - File containing the content for the part
        isRecursive - if file is a directory, whether to add its contents as well
        Throws:
        IOException
      • requestFileReplacement

        public void requestFileReplacement​(String contentType,
                                           URI fileURI,
                                           String dataRequestName,
                                           Properties props,
                                           File file,
                                           boolean isRecursive)
                                    throws IOException
        Description copied from interface: Payload.Outbound
        Adds a part to the payload to request that the specified file be replaced.

        If the fileURI translates to a non-directory file on the receiving system then calling this method will replace the file's contents on the target with the contents of the file argument.

        If the fileURI is for a directory, then if isRecursive is also specified the payload will contain one Part to replace the directory (which will have the result of removing the directory and its contents and then recreating the directory) plus a Part for each file, including subdirectories, below the directory. The intent is to replace the entire directory with new contents.

        Specified by:
        requestFileReplacement in interface Payload.Outbound
        Throws:
        IOException
      • requestFileRemoval

        public void requestFileRemoval​(URI fileURI,
                                       String dataRequestName,
                                       Properties props)
                                throws IOException
        Description copied from interface: Payload.Outbound
        Adds a part to the payload that represents a request to remove the specified file, presumably previously transferred in a payload during an earlier request.
        Specified by:
        requestFileRemoval in interface Payload.Outbound
        Parameters:
        fileURI - relative URI of the file for deletion
        dataRequestName - name identifying which part of a request triggered the file removal
        props - Properties to be included with the part
        Throws:
        IOException
      • requestFileRemoval

        public void requestFileRemoval​(URI fileURI,
                                       String dataRequestName,
                                       Properties props,
                                       boolean isRecursive)
                                throws IOException
        Description copied from interface: Payload.Outbound
        Adds a part to the payload that represents a request to remove the specified file, presumably previously transferred in a payload during an earlier request.
        Specified by:
        requestFileRemoval in interface Payload.Outbound
        Parameters:
        fileURI - relative URI of the file for deletion
        dataRequestName - name identifying which part of a request triggered the file removal
        props - Properties to be included with the part
        isRecursive - if fileURI is a directory, whether to remove its contents as well
        Throws:
        IOException
      • getHeaderName

        public String getHeaderName()
        Description copied from interface: Payload.Outbound
        Returns the name of the header that should be set in the outgoing and incoming http request or response.
        Specified by:
        getHeaderName in interface Payload.Outbound
        Returns:
        the header name
      • getContentType

        public String getContentType()
        Description copied from interface: Payload.Outbound
        Returns the content type of the payload, determined by whether there are multiple parts and, if not, if the content type of the single part is of type "text."
        Specified by:
        getContentType in interface Payload.Outbound
        Returns:
        the content type of the pauload
      • writePartsTo

        protected abstract void writePartsTo​(OutputStream os)
                                      throws IOException
        Writes the Parts in this Outbound Payload to the specified output stream; concrete implementations will implement this abstract method.
        Parameters:
        os - the OutputStream to which the Parts should be written
        Throws:
        IOException
      • getComplexContentType

        public abstract String getComplexContentType()
        Returns the Content-Type which reflects that multiple Parts will be in the Payload.

        This content type might vary among different implementations of Payload.

        Returns:
        the content type for complex payloads
      • isDirty

        public boolean isDirty()
        Description copied from interface: Payload.Outbound
        Indicates whether Payload was modified since dirty flag was reset.
        Specified by:
        isDirty in interface Payload.Outbound
        Returns:
        true if Payload was modified.
      • resetDirty

        public void resetDirty()
        Description copied from interface: Payload.Outbound
        Resets Payload dirty flag, indicating whether Payload was modified.
        Specified by:
        resetDirty in interface Payload.Outbound