Interface EditorProvider

All Known Implementing Classes:
ChangeCollectorProvider, CompositeEditorProvider, ConflictValidatorProvider, CrossMountReferenceValidatorProvider, IndexUpdateProvider, NamespaceEditorProvider, NameValidatorProvider, PrivateStoreValidatorProvider, TypeEditorProvider, ValidatorProvider, WhiteboardEditorProvider

public interface EditorProvider
Extension point for content change editors. Used by the EditorHook class to allow multiple components to process content changes during just a single content diff.
Since:
Oak 0.7
See Also:
  • Method Details

    • getRootEditor

      @Nullable @Nullable Editor getRootEditor(NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) throws CommitFailedException
      Returns an editor for processing changes between the given two states. Returns null if the changes don't require processing.

      An implementation of this method should generally not compare the given before and after states, as the caller is expected to compare the states and invoke the respective callback methods on the Editor instance returned by this method. Instead the implementation can use the opportunity for other preparatory work.

      Parameters:
      before - original root state
      after - modified root state
      builder - node builder based on the after state
      info - metadata associated with this commit
      Returns:
      editor for processing the changes, or null
      Throws:
      CommitFailedException - if processing failed