Class PayloadFilesManager

  • Direct Known Subclasses:
    PayloadFilesManager.Perm, PayloadFilesManager.Temp

    public abstract class PayloadFilesManager
    extends Object
    Manages transferred files delivered via the request or response Payload.

    Callers can process the entire payload at once, treating each Part as a file, using the processParts(org.glassfish.api.admin.Payload.Inbound) method. Or, the caller can invoke the #processPart method to work with a single Part as a file.

    If the caller wants to extract the payload's content as temporary files it should instantiate PayloadFilesManager.Temp which exposes a PayLoadFilesManager.Temp#cleanup method. The caller should invoke this method once it has finished with the transferred files, although the finalizer will invoke cleanup just in case.

    On the other hand, if the caller wants to keep the transferred files it should instantiate PayloadFilesManager.Perm.

    Temp uses a unique temporary directory, then creates one temp file for each part it is asked to deal with, either from an entire payload (processParts(org.glassfish.api.admin.Payload.Inbound)) or a single part (#processPart(org.glassfish.api.admin.Payload.Part)). Recall that each part in the payload has a name which is a relative or absolute URI.

    Author:
    tjquinn
    • Method Detail

      • getTargetDir

        protected File getTargetDir()
      • postExtract

        protected abstract void postExtract​(File extractedFile)
      • processPartsExtended

        public Map<File,​Properties> processPartsExtended​(Payload.Inbound inboundPayload)
                                                        throws Exception
        Returns all Files extracted from the Payload, treating each Part as a separate file, via a Map from each File to its associated Properties.
        Parameters:
        inboundPayload - Payload containing file data to be extracted
        Returns:
        map from each extracted File to its corresponding Properties
        Throws:
        IOException
        Exception
      • processParts

        public List<File> processParts​(Payload.Inbound inboundPayload)
                                throws Exception
        Returns all Files extracted from the Payload, treating each Part as a separate file.
        Parameters:
        inboundPayload - Payload containing file data to be extracted
        Returns:
        the Files corresponding to the content of each extracted file
        Throws:
        IOException
        Exception
      • postProcessParts

        protected abstract void postProcessParts()