Interface FileSystemBackupService

  • All Implemented Interfaces:

    
    public interface FileSystemBackupService
    
                        

    Defines contracts for managing file system-based backup directories. E.g. we might download some input, parse it and process. We'd like to keep the input for some time, say, a week to be able tracing back problems with it if any.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Constructor Detail

    • Method Detail

      • prepareNewBackupDir

         abstract File prepareNewBackupDir(File rootBackupDir)
        Returns:

        backup dir for the given base dir. It's up to underlying implementation to define how backups should be organised internally, the only requirement is that when cleanOutdated is called, it should remove all backups which are older than the given ttl

      • backup

         abstract Unit backup(File backupDir, File toBackup, Function1<File, Boolean> toBackupFilter)
        Parameters:
        backupDir - backup directory to store the data
        toBackup - file or root directory to back up at the given backup dir
        toBackupFilter - when this method is asked to back up a directory, we might want to filter the input and store only subset of its files.