Class PayloadFilesManager
- Direct Known Subclasses:
PayloadFilesManager.Perm,PayloadFilesManager.Temp
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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacestatic classExtracts files from a Payload and leaves them on disk.static classExtracts files from a payload, treating them as temporary files. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionprotected URIgetOutputFileURI(org.glassfish.api.admin.Payload.Part part, String name) protected URIgetParentURI(org.glassfish.api.admin.Payload.Part part) protected Fileprotected abstract voidpostExtract(File extractedFile) protected abstract voidprocessParts(org.glassfish.api.admin.Payload.Inbound inboundPayload) Returns all Files extracted from the Payload, treating each Part as a separate file.processPartsExtended(org.glassfish.api.admin.Payload.Inbound inboundPayload) Returns all Files extracted from the Payload, treating each Part as a separate file, via a Map from each File to its associated Properties.
-
Field Details
-
strings
-
logger
-
dirTimestamps
-
-
Method Details
-
getTargetDir
-
getParentURI
protected URI getParentURI(org.glassfish.api.admin.Payload.Part part) throws UnsupportedEncodingException - Throws:
UnsupportedEncodingException
-
postExtract
-
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:
IOExceptionException
-
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:
IOExceptionException
-
postProcessParts
protected abstract void postProcessParts()
-