Interface ShuffleCache

  • All Known Implementing Classes:
    ShuffleCacheImpl

    public interface ShuffleCache
    Cache for alfresco "save shuffles" which are used by some applications to compensate for a most computer filesystem being non atomic.

    Overlays an Alfresco repository with temporary files being created and soft deleted from folders that are likely to have save shuffles going on.

    Implementations must be thread safe

    • Method Detail

      • createTemporaryFile

        void createTemporaryFile​(String path)
        Add a new temporary file to the "shuffle cache". Content is not persisted in the alfresco repo until either a rename occurs or after a time delay.
      • softDelete

        void softDelete​(String path)
        Soft delete a file. The file may be re-instated later or the delete made permenant after a time delay.
      • renameTemporaryFile

        void renameTemporaryFile​(String oldPath,
                                 String newPath)
        Takes the contents of a temporary file and applies it to the new path.

        If the new path has been soft deleted then the soft delete is removed.

        After the contents of the temporary file have been written the it may may be made available for garbage collection.

        Parameters:
        oldPath - the location of the temporaryFile
        newPath - the location of the new file.
      • isShuffleDirectory

        boolean isShuffleDirectory​(String dir)
        Does the specified directory contain a shuffled temporary file
        Parameters:
        dir - String
        Returns:
        boolean
      • isDeleted

        boolean isDeleted​(String path)
        Has the path been "soft deleted"
      • isCreated

        boolean isCreated​(String path)
        Has the path been "soft created"
        Parameters:
        path - String
        Returns:
        boolean