Class VersionableEditor

java.lang.Object
org.apache.jackrabbit.oak.spi.commit.DefaultEditor
org.apache.jackrabbit.oak.plugins.migration.version.VersionableEditor
All Implemented Interfaces:
Editor

public class VersionableEditor extends DefaultEditor
The VersionableEditor provides two possible ways to handle versionable nodes:
  • Method Details

    • childNodeAdded

      public Editor childNodeAdded(String name, NodeState after) throws CommitFailedException
      Description copied from interface: Editor
      Processes an added child node.
      Specified by:
      childNodeAdded in interface Editor
      Overrides:
      childNodeAdded in class DefaultEditor
      Parameters:
      name - name of the added node
      after - the added child node
      Returns:
      an editor for processing the subtree below the added node, or null if the subtree does not need processing
      Throws:
      CommitFailedException - if processing failed
    • childNodeChanged

      public Editor childNodeChanged(String name, NodeState before, NodeState after) throws CommitFailedException
      Description copied from interface: Editor
      Processes a changed child node. This method gets called for all child nodes that may contain changes between the before and after states.
      Specified by:
      childNodeChanged in interface Editor
      Overrides:
      childNodeChanged in class DefaultEditor
      Parameters:
      name - name of the changed node
      before - child node before the change
      after - child node after the change
      Returns:
      an editor for processing the subtree below the added node, or null if the subtree does not need processing
      Throws:
      CommitFailedException - if processing failed
    • childNodeDeleted

      public Editor childNodeDeleted(String name, NodeState before) throws CommitFailedException
      Description copied from interface: Editor
      Processes a deleted child node.
      Specified by:
      childNodeDeleted in interface Editor
      Overrides:
      childNodeDeleted in class DefaultEditor
      Parameters:
      name - name of the deleted node
      before - the deleted child node
      Returns:
      an editor for processing the subtree below the removed node, or null if the subtree does not need processing
      Throws:
      CommitFailedException - if processing failed
    • leave

      public void leave(NodeState before, NodeState after) throws CommitFailedException
      Description copied from interface: Editor
      Called after the given before and after states are compared. The implementation can use this method to post-process information collected during the content diff. For example an implementation that during the diff just recorded the fact that this node was modified in some way could then use this method to trigger an index update based on that modification flag.
      Specified by:
      leave in interface Editor
      Overrides:
      leave in class DefaultEditor
      Parameters:
      before - before state, non-existent if this node was added
      after - after state, non-existent if this node was removed
      Throws:
      CommitFailedException - if this commit should be rejected