Package com.atlassian.bamboo.utils
Class BambooFiles
java.lang.Object
com.atlassian.bamboo.utils.BambooFiles
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
static interface
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic BambooFiles.AutoRemoved
autoRemoved
(Path path) Wraps the suppliedPath
withAutoCloseable
.static Path
createTempDirectory
(Path dir, String prefix, FileAttribute<?>... attrs) static void
Deletes files, including readonly files on Windows.static void
deleteLogIfError
(Path path, org.apache.log4j.Logger logger) Calldelete(Path)
and logs exception if happens.static boolean
deleteQuietly
(Path path) Deletes a path quietly, returns true on success.static boolean
isExecutable
(Path path) static BambooFiles.QuietlyRemoved
quietlyRemoved
(Path path) Wraps the suppliedPath
withAutoCloseable
.static Path
resolvePathUnderParent
(@NotNull Path parent, @NotNull String child) Fulfills the general contract ofPath.resolve(String)
.static void
setAccessibleOnlyByOwner
(@NotNull Path path) Removes access toPath
from non-owners.static void
setExecutable
(Path path, boolean isExecutable) Sets executable bit onPath
static void
setReadOnly
(Path path, boolean isReadOnly) Sets readonly bit onPath
-
Field Details
-
log
public static final org.apache.log4j.Logger log
-
-
Constructor Details
-
BambooFiles
public BambooFiles()
-
-
Method Details
-
deleteQuietly
Deletes a path quietly, returns true on success. If the path is a non-empty directory, it does not get deleted. -
delete
Deletes files, including readonly files on Windows.- Throws:
IOException
-
deleteLogIfError
Calldelete(Path)
and logs exception if happens. -
isExecutable
- Throws:
IOException
-
autoRemoved
-
quietlyRemoved
Wraps the suppliedPath
withAutoCloseable
. The directory will be quietly deleted onAutoCloseable.close()
-
createTempDirectory
public static Path createTempDirectory(Path dir, String prefix, FileAttribute<?>... attrs) throws IOException SeeFiles.createTempDirectory(Path, String, FileAttribute[])
. This function will create the parent directories if they do not exist.- Throws:
IOException
-
setReadOnly
Sets readonly bit onPath
- Throws:
IOException
-
setExecutable
Sets executable bit onPath
- Throws:
IOException
-
setAccessibleOnlyByOwner
Removes access toPath
from non-owners. Note, for NTFS it removes all ACLs except owner. So if owner is not listed at ACLs then Path will become unavailable for Bamboo.- Throws:
IOException
-
resolvePathUnderParent
public static Path resolvePathUnderParent(@NotNull @NotNull Path parent, @NotNull @NotNull String child) Fulfills the general contract ofPath.resolve(String)
. The returned path is always in normalized and always rooted under the parent argument. Attempts to traverse out of the parent directory will result in IllegalArgumentException being thrown.- Parameters:
parent
- parent directorychild
- child under parent directory. Relative paths are allowed as long as the result is under the parent directory- Returns:
- a canonical child File rooted under parent directory
-