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 the {@link DownloadManager#setSaveLocationManager(SaveLocationManager)}.
Each method here returns a {@link SaveLocationChange} object, which containsinstructions 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.
If
for_move is
false, any checks normally performed on a download to see if it is applicable or not (to be managed by this object) should not be applied here.
Note: This interface is intended to be implemented by plugins.
@since 3.1.0.1