Interface GroupChangesForMultiplePeersStrategy

  • All Superinterfaces:
    SaveStrategy
    All Known Implementing Classes:
    DefaultSaveStrategy

    @API(type=EXTENDABLE,
         src=PUBLIC)
    public interface GroupChangesForMultiplePeersStrategy
    extends SaveStrategy
    Details required when saving a concurrently edited document. Used to write a single snapshot of the document with changes made from the last save, where the snapshot may be capturing changes made by multiple peers. It facilitates a minimum number of writes to the file server per save.
    Since:
    23.1.1
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.net.URLConnection openConnection​(java.net.URL documentUrl, PeerContext committer, java.util.List<PeerContext> authors)
      This method will be called whenever a peer within a concurrent editing session triggers either a save or a auto-save.
    • Method Detail

      • openConnection

        java.net.URLConnection openConnection​(java.net.URL documentUrl,
                                              PeerContext committer,
                                              java.util.List<PeerContext> authors)
                                       throws java.io.IOException
        This method will be called whenever a peer within a concurrent editing session triggers either a save or a auto-save. Called a single time for each document, allowing a minimum number of writes to the file server. It facilitates storing a revision for all peers together, writing only once per save to the file server.
        Parameters:
        documentUrl - The document URL. May be used to directly open a connection to the CMS on behalf of the committer. Note that it has the UserInfo of the committer.
        committer - The context of the peer that triggered either a save or a auto-save.
        authors - The context of peers whose changes are about to be saved onto the URL connection. Note that committer may or may not be an author.
        Returns:
        A connection where to write the new revision.
        Throws:
        java.io.IOException - If fails to open the connect.