Class Backend
-
Field Summary
Modifier and TypeFieldDescriptionprotected Config.Backend
protected static final char[]
protected FileSystem
-
Constructor Summary
ConstructorDescriptionBackend
(Config.Backend config, FileSystem fileSystem, Acl acl) Constructs backend instance. -
Method Summary
Modifier and TypeMethodDescriptionautorenameFile
(ResourceType resourceType, String folderPath, String fileName) Renames the file by adding a number to the file name.void
createFolder
(ResourceType resourceType, String folderPath) Creates folder under given path.createFolder
(ResourceType resourceType, String folderPath, String folderName) Creates a new folder under given path.void
createResourceTypeFolder
(ResourceType resourceType) Creates the resource type root folder.void
deleteFile
(ResourceType resourceType, String folderPath, String fileName) Removes file under given location.void
deleteFile
(String filePath) Removes file under given location.void
deleteFolder
(ResourceType resourceType, String folderPath) Deletes folder under given location.void
deleteFolder
(ResourceType resourceType, String folderPath, boolean allowHidden) Deletes folder under given location.void
deleteFolder
(String folderPath) Deletes folder under given location.boolean
folderContainsSubfolders
(ResourceType resourceType) Checks if resource type root folder contains subfolders.boolean
folderContainsSubfolders
(ResourceType resourceType, String folderPath) Checks if given folder contains any subfolders.long
getFileSize
(ResourceType resourceType, String folderPath, String fileName) Returns the size of a file under given path.getName()
getRoot()
boolean
hasFile
(ResourceType resourceType, String folderPath, String fileName) Checks if file under given path exists.boolean
Checks if this backend has a file under given path.boolean
hasFolder
(ResourceType resourceType, String folderPath) Returns a list of folders inside given folder (ignores hidden folders).boolean
hasFolder
(ResourceType resourceType, String folderPath, boolean allowHidden) Returns a list of folders inside given folder.boolean
isAllowedHtmlExtension
(String fileNameExtension) Checks if file with given extension is allowed to contain HTML-like data.boolean
isHiddenFile
(String fileName) Checks if file name is hidden.boolean
isHiddenFolder
(String folderName) Checks if folder name is hidden.boolean
isHiddenPath
(String folderPath) Checks if folder path is hidden.boolean
isValidFileName
(String fileName) Checks if given file name is valid.boolean
isValidFolderName
(String folderName) Checks if given folder name is valid.listFiles
(ResourceType resourceType, String folderPath) Returns a list of files in given folder.listFiles
(ResourceType resourceType, String folderPath, boolean allowHidden) Returns a list of files in given folder.listFolders
(ResourceType resourceType, String folderPath) Returns a list of folders inside given folder.boolean
readFile
(ResourceType resourceType, String folderPath, String fileName) Returns the data stream of file under given location.Returns the data stream of file under given location.renameFile
(ResourceType resourceType, String folderPath, String fileName, String newFileName) Renames file under given location (ignores hidden files).renameFile
(ResourceType resourceType, String folderPath, String fileName, String newFileName, boolean allowHidden) Renames file under given location.renameFolder
(ResourceType resourceType, String folderPath, String oldFolderName, String newFolderName) Renames folder under given location.renameFolder
(ResourceType resourceType, String folderPath, String oldFolderName, String newFolderName, boolean allowHidden, boolean validateNames) Renames folder under given location.void
renameFolder
(String folderPath, String newFolderPath) Renames folder under given location.sanitizeFileName
(ResourceType resourceType, String fileName) Sanitizes current file name.protected Path
toFileSystemPath
(String path) Converts the internal CKFinder's path to a real filesystem path.boolean
void
validateDoubleExtensions
(ResourceType resourceType, String fileName) Checks double extensions in a given file name.void
writeFile
(ResourceType resourceType, String folderPath, String fileName, InputStream in) Saves file under given location.void
writeFile
(String filePath, InputStream in) Saves file under given location.
-
Field Details
-
config
-
fileSystem
-
ESCAPABLE_CHARS
protected static final char[] ESCAPABLE_CHARS
-
-
Constructor Details
-
Backend
Constructs backend instance.- Parameters:
config
- backend configurationfileSystem
- backend's filesystemacl
- access control list
-
-
Method Details
-
usesProxyCommand
public boolean usesProxyCommand()- Returns:
- true if this backend uses the Proxy command, false otherwise
-
getBaseUrl
- Returns:
- the base URL defined for this backend
-
getRoot
- Returns:
- filesystem path used as a root folder of this backend
-
getName
- Returns:
- the name of this backend
-
getFileSystem
- Returns:
- filesystem used by this backend
-
toFileSystemPath
Converts the internal CKFinder's path to a real filesystem path.- Parameters:
path
- internal CKFinder's path- Returns:
- filesystem path
- Throws:
IllegalArgumentException
- if given path is not valid
-
listFiles
public List<File> listFiles(ResourceType resourceType, String folderPath, boolean allowHidden) throws IOException Returns a list of files in given folder.- Parameters:
resourceType
- resource typefolderPath
- folder pathallowHidden
- if true, the hidden files will be included in the returned result- Returns:
- list of files in given folder
- Throws:
IOException
- in case of any processing exception
-
listFiles
Returns a list of files in given folder.- Parameters:
resourceType
- resource typefolderPath
- folder path- Returns:
- list of files in given folder
- Throws:
IOException
- in case of any processing exception
-
listFolders
Returns a list of folders inside given folder.- Parameters:
resourceType
- resource typefolderPath
- folder path- Returns:
- list of folders in given folder
- Throws:
IOException
- in case of any processing exception
-
hasFolder
Returns a list of folders inside given folder.- Parameters:
resourceType
- resource typefolderPath
- folder pathallowHidden
- if true, this check will not ignore hidden folders- Returns:
- true if folder contains child folders inside it
-
hasFolder
Returns a list of folders inside given folder (ignores hidden folders).- Parameters:
resourceType
- resource typefolderPath
- folder path- Returns:
- true if folder contains child folders inside it
-
createFolder
Creates a new folder under given path.- Parameters:
resourceType
- resource typefolderPath
- folder pathfolderName
- the name of the created folder- Returns:
- the name of the created folder
-
createFolder
Creates folder under given path.In comparison to
createFolder(ResourceType, String, String)
, this method doesn't perform any security checks.- Parameters:
resourceType
- resource typefolderPath
- folder path
-
createResourceTypeFolder
Creates the resource type root folder.- Parameters:
resourceType
- resource type- Throws:
IOException
- in case of any processing exception
-
folderContainsSubfolders
public boolean folderContainsSubfolders(ResourceType resourceType, String folderPath) throws IOException Checks if given folder contains any subfolders.- Parameters:
resourceType
- resource typefolderPath
- folder path- Returns:
- true if given folder contains subfolders
- Throws:
IOException
- in case of any processing exception
-
hasFile
Checks if file under given path exists.- Parameters:
resourceType
- resource typefolderPath
- folder pathfileName
- file name- Returns:
- true if file under given paths exists
-
getFileSize
Returns the size of a file under given path.- Parameters:
resourceType
- resource typefolderPath
- folder pathfileName
- file name- Returns:
- file size in bytes
-
hasFile
Checks if this backend has a file under given path.In comparison to
hasFile(ResourceType, String, String)
, this method doesn't perform any security checks.- Parameters:
filePath
- file path- Returns:
- true if this backend contains file under given path
-
writeFile
public void writeFile(ResourceType resourceType, String folderPath, String fileName, InputStream in) Saves file under given location.- Parameters:
resourceType
- resource typefolderPath
- folder pathfileName
- file namein
- file data input stream
-
writeFile
Saves file under given location.In comparison to
writeFile(ResourceType, String, String, InputStream)
, this method doesn't perform any security checks.- Parameters:
filePath
- file pathin
- file data input stream
-
readFile
Returns the data stream of file under given location.- Parameters:
resourceType
- resource typefolderPath
- folder pathfileName
- file name- Returns:
- file dta stream
-
readFile
Returns the data stream of file under given location.In comparison to
readFile(ResourceType, String, String)
, this method doesn't perform any security checks.- Parameters:
filePath
- file path- Returns:
- file data stream
-
deleteFile
Removes file under given location.- Parameters:
resourceType
- resource typefolderPath
- folder pathfileName
- file name
-
deleteFile
Removes file under given location.In comparison to
deleteFile(ResourceType, String, String)
, this method doesn't perform any security checks.- Parameters:
filePath
- file path
-
renameFile
public String renameFile(ResourceType resourceType, String folderPath, String fileName, String newFileName, boolean allowHidden) Renames file under given location.- Parameters:
resourceType
- resource typefolderPath
- folder pathfileName
- old file namenewFileName
- new file nameallowHidden
- if true, this method will not ignore hidden files- Returns:
- new file name
-
renameFile
public String renameFile(ResourceType resourceType, String folderPath, String fileName, String newFileName) Renames file under given location (ignores hidden files).- Parameters:
resourceType
- resource typefolderPath
- folder pathfileName
- old file namenewFileName
- new file name- Returns:
- new file name
-
renameFolder
public String renameFolder(ResourceType resourceType, String folderPath, String oldFolderName, String newFolderName, boolean allowHidden, boolean validateNames) Renames folder under given location.- Parameters:
resourceType
- resource typefolderPath
- folder patholdFolderName
- old folder namenewFolderName
- new folder nameallowHidden
- if true, this method will not ignore hidden foldersvalidateNames
- if true, this method will validate folder names- Returns:
- new folder name
-
renameFolder
Renames folder under given location.- Parameters:
folderPath
- old folder pathnewFolderPath
- new folder path
-
renameFolder
public String renameFolder(ResourceType resourceType, String folderPath, String oldFolderName, String newFolderName) Renames folder under given location.- Parameters:
resourceType
- resource typefolderPath
- folder patholdFolderName
- old folder namenewFolderName
- new folder name- Returns:
- new folder name
-
deleteFolder
Deletes folder under given location.- Parameters:
resourceType
- resource typefolderPath
- folder pathallowHidden
- if true, this method will not ignore hidden folders
-
deleteFolder
Deletes folder under given location.- Parameters:
resourceType
- resource typefolderPath
- folder path
-
deleteFolder
Deletes folder under given location.- Parameters:
folderPath
- folder path
-
autorenameFile
Renames the file by adding a number to the file name.Renaming is done by adding a number in parenthesis provided that the file name does not collide with any other file existing in the target backend/path. For example, if the target backend path contains a file named
foo.txt
and the current file name isfoo.txt
, this method will change the current file name tofoo(1).txt
.- Parameters:
resourceType
- resource typefolderPath
- folder pathfileName
- file name- Returns:
- file name after autorename
-
sanitizeFileName
Sanitizes current file name.- Parameters:
resourceType
- resource typefileName
- file name- Returns:
- sanitized file name
-
validateDoubleExtensions
Checks double extensions in a given file name.- Parameters:
resourceType
- resource typefileName
- file name
-
isAllowedHtmlExtension
Checks if file with given extension is allowed to contain HTML-like data.- Parameters:
fileNameExtension
- file name extension- Returns:
- true if file with given extension is allowed to contain HTML-like data, false otherwise
-
isHiddenFile
Checks if file name is hidden.- Parameters:
fileName
- file name- Returns:
- true if file name is hidden
-
isHiddenFolder
Checks if folder name is hidden.- Parameters:
folderName
- folder name- Returns:
- true if folder name is hidden
-
isHiddenPath
Checks if folder path is hidden.- Parameters:
folderPath
- folder path- Returns:
- true if folder path is hidden
-
isValidFileName
Checks if given file name is valid.- Parameters:
fileName
- file name to check- Returns:
- true if given file name is valid, false otherwise
-
isValidFolderName
Checks if given folder name is valid.- Parameters:
folderName
- folder name to check- Returns:
- true if given folder name is valid, false otherwise
-
folderContainsSubfolders
Checks if resource type root folder contains subfolders.- Parameters:
resourceType
- resource type- Returns:
- true if resource type root folder contains subfolders
- Throws:
IOException
- in case of any processing exception
-
overwritesOnUpload
public boolean overwritesOnUpload()- Returns:
- true if this backend overwrites files on upload instead of autorenaming them
-