Package com.atlassian.bamboo.utils
Class BambooFiles
java.lang.Object
com.atlassian.bamboo.utils.BambooFiles
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacestatic interface -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BambooFiles.AutoRemovedautoRemoved(Path path) Wraps the suppliedPathwithAutoCloseable.static PathcreateTempDirectory(Path dir, String prefix, FileAttribute<?>... attrs) static voidDeletes files, including readonly files on Windows.static voiddeleteLogIfError(Path path, org.apache.log4j.Logger logger) Calldelete(Path)and logs exception if happens.static booleandeleteQuietly(Path path) Deletes a path quietly, returns true on success.static PathensureEmptyDirExists(Path dir) Removes content of the directory or creates new if it does not existstatic booleanisExecutable(Path path) static BambooFiles.QuietlyRemovedquietlyRemoved(Path path) Wraps the suppliedPathwithAutoCloseable.static PathresolvePathUnderParent(@NotNull Path parent, @NotNull String child) Fulfills the general contract ofPath.resolve(String).static voidsetAccessibleOnlyByOwner(@NotNull Path path) Removes access toPathfrom non-owners.static voidsetExecutable(Path path, boolean isExecutable) Sets executable bit onPathstatic voidsetReadOnly(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 suppliedPathwithAutoCloseable. 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 toPathfrom 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
-
ensureEmptyDirExists
Removes content of the directory or creates new if it does not exist- Parameters:
dir- folder to be cleaned or created- Returns:
- empty directory that refers to the same folder as the dir parameter
- Throws:
IOException
-