@Component(value="ui_TemporaryStorage") public class TemporaryStorageImpl extends java.lang.Object implements TemporaryStorage
TemporaryStorage.FileInfo, TemporaryStorage.UploadProgressListener
Modifier and Type | Field and Description |
---|---|
protected static int |
BUFFER_SIZE
Upload buffer size.
|
protected io.jmix.core.FileStorageLocator |
fileStorageLocator |
protected java.lang.String |
tempDir |
protected java.util.Map<java.util.UUID,java.io.File> |
tempFiles |
protected io.jmix.core.TimeSource |
timeSource |
Constructor and Description |
---|
TemporaryStorageImpl() |
Modifier and Type | Method and Description |
---|---|
void |
clearTempDirectory() |
TemporaryStorage.FileInfo |
createFile()
Create a new empty temporary file and cache its ID for subsequent operations.
|
protected TemporaryStorage.FileInfo |
createFileInternal() |
void |
deleteFile(java.util.UUID fileId)
Remove a file from the temporary storage.
|
void |
deleteFileLink(java.lang.String fileName)
Remove an entry from the list of currently cached temporary file IDs, if such exists.
|
java.io.File |
getFile(java.util.UUID fileId)
Return a previously registered temporary file by its ID.
|
io.jmix.core.FileRef |
putFileIntoStorage(java.util.UUID fileId,
java.lang.String fileName)
Uploads a file from the temporary storage to the default FileStorage,
which is determined by calling
FileStorageLocator.getDefault() . |
io.jmix.core.FileRef |
putFileIntoStorage(java.util.UUID fileId,
java.lang.String fileName,
io.jmix.core.FileStorage fileStorage)
Uploads a file from the temporary storage to the FileStorage.
|
java.util.UUID |
saveFile(byte[] data)
Store the byte array in a new temporary file.
|
java.util.UUID |
saveFile(java.io.InputStream stream,
TemporaryStorage.UploadProgressListener listener)
Store the content of stream in a new temporary file.
|
void |
setCoreProperties(io.jmix.core.CoreProperties coreProperties) |
java.lang.String |
showTempFiles() |
protected java.util.Map<java.util.UUID,java.io.File> tempFiles
protected static final int BUFFER_SIZE
protected java.lang.String tempDir
@Autowired protected io.jmix.core.TimeSource timeSource
@Autowired protected io.jmix.core.FileStorageLocator fileStorageLocator
@Autowired public void setCoreProperties(io.jmix.core.CoreProperties coreProperties)
public java.util.UUID saveFile(byte[] data)
TemporaryStorage
saveFile
in interface TemporaryStorage
data
- file contentspublic java.util.UUID saveFile(java.io.InputStream stream, TemporaryStorage.UploadProgressListener listener)
TemporaryStorage
saveFile
in interface TemporaryStorage
stream
- stream which content is to be storedlistener
- optional listener to be notified about storing progresspublic TemporaryStorage.FileInfo createFile()
TemporaryStorage
createFile
in interface TemporaryStorage
protected TemporaryStorage.FileInfo createFileInternal()
public java.io.File getFile(java.util.UUID fileId)
TemporaryStorage
getFile
in interface TemporaryStorage
fileId
- temporary file IDpublic void deleteFile(java.util.UUID fileId)
TemporaryStorage
deleteFile
in interface TemporaryStorage
fileId
- temporary file IDpublic void deleteFileLink(java.lang.String fileName)
TemporaryStorage
deleteFileLink
in interface TemporaryStorage
fileName
- absolute path to the temporary filepublic io.jmix.core.FileRef putFileIntoStorage(java.util.UUID fileId, java.lang.String fileName, io.jmix.core.FileStorage fileStorage)
TemporaryStorage
putFileIntoStorage
in interface TemporaryStorage
fileId
- temporary file IDfileName
- file namefileStorage
- file storagepublic io.jmix.core.FileRef putFileIntoStorage(java.util.UUID fileId, java.lang.String fileName)
TemporaryStorage
FileStorageLocator.getDefault()
.putFileIntoStorage
in interface TemporaryStorage
fileId
- temporary file IDfileName
- file namepublic void clearTempDirectory()
public java.lang.String showTempFiles()