Interface SaveLocationManager
-
- All Known Subinterfaces:
DefaultSaveLocationManager
public interface SaveLocationManager
Plugins which want to control the logic of where the default save location for downloads (including for on-completion and on-removal behaviour) can implement this class and register it through theDownloadManager.setSaveLocationManager(SaveLocationManager)
.Each method here returns a
SaveLocationChange
object, which contains instructions which allows both the download and the torrent to be moved and renamed.The methods here take two arguments - for_move and on_event.
- When events happen to downloads (like the download being completed or removed), both of these values will be true.
- When something is trying to update the logical location for the download, for_move will be true, while on_event will be false.
- When something is trying to determine all the places where existing data files might exist, both values will be false.
Note: This interface is intended to be implemented by plugins.
- Since:
- 3.1.0.1
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SaveLocationChange
onCompletion(Download download, boolean for_move, boolean on_event)
Return the location to move the download to when it is completed (or return null to keep the download and torrent in the same location).SaveLocationChange
onInitialization(Download download, boolean for_move, boolean on_event)
Return the location to move the download to when it first started (or return null to keep the download and torrent in the same location).SaveLocationChange
onRemoval(Download download, boolean for_move, boolean on_event)
Return the location to move the download to when it is removed (or return null to keep the download and torrent in the same location).
-
-
-
Method Detail
-
onInitialization
SaveLocationChange onInitialization(Download download, boolean for_move, boolean on_event)
Return the location to move the download to when it first started (or return null to keep the download and torrent in the same location).- Parameters:
download
- Download to handle.for_move
- true if the download is going to be moved, or false if the logical path is just being calculated for other reasons.on_event
- true if the download really is being initialised, or false if we are just determining the appropriate location for an incomplete download.- Returns:
- The new save location instructions.
-
onCompletion
SaveLocationChange onCompletion(Download download, boolean for_move, boolean on_event)
Return the location to move the download to when it is completed (or return null to keep the download and torrent in the same location).- Parameters:
download
- Download to handle.for_move
- true if the download is going to be moved, or false if the logical path is just being calculated for other reasons.on_event
- true if the download really is being moved for completion, or false if we are just determining the appropriate location for an complete download.- Returns:
- The new save location instructions.
-
onRemoval
SaveLocationChange onRemoval(Download download, boolean for_move, boolean on_event)
Return the location to move the download to when it is removed (or return null to keep the download and torrent in the same location).- Parameters:
download
- Download to handle.for_move
- true if the download is going to be moved, or false if the logical path is just being calculated for other reasons.on_event
- true if the download really is being removed, or false if we are just determining the appropriate location for the download when it is removed.- Returns:
- The new save location instructions.
-
-