Class PayloadFilesManager

java.lang.Object
org.glassfish.admin.payload.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

invalid reference
#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

invalid reference
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 (

invalid reference
#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
  • Field Details

  • Method Details

    • getTargetDir

      protected File getTargetDir()
    • getParentURI

      protected URI getParentURI(org.glassfish.api.admin.Payload.Part part) throws UnsupportedEncodingException
      Throws:
      UnsupportedEncodingException
    • postExtract

      protected abstract void postExtract(File extractedFile)
    • getOutputFileURI

      protected URI getOutputFileURI(org.glassfish.api.admin.Payload.Part part, String name) throws IOException
      Throws:
      IOException
    • processPartsExtended

      public Map<File,Properties> processPartsExtended(org.glassfish.api.admin.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(org.glassfish.api.admin.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()