Class AtomicCounterEditorProvider

java.lang.Object
org.apache.jackrabbit.oak.plugins.atomic.AtomicCounterEditorProvider
All Implemented Interfaces:
EditorProvider

public class AtomicCounterEditorProvider extends Object implements EditorProvider
Provide an instance of AtomicCounterEditor. See AtomicCounterEditor for behavioural details.
  • Constructor Details

    • AtomicCounterEditorProvider

      public AtomicCounterEditorProvider()
      OSGi oriented constructor where all the required dependencies will be taken care of.
    • AtomicCounterEditorProvider

      public AtomicCounterEditorProvider(@Nullable @Nullable Supplier<Clusterable> clusterInfo, @Nullable @Nullable Supplier<ScheduledExecutorService> executor, @Nullable @Nullable Supplier<NodeStore> store, @Nullable @Nullable Supplier<Whiteboard> whiteboard)

      Plain Java oriented constructor. Refer to AtomicCounterEditor(NodeBuilder, String, ScheduledExecutorService, NodeStore, Whiteboard) for constructions details of the actual editor.

      Based on the use case this may need an already set of the constructor parameters during the repository construction. Please ensure they're registered before this provider is registered.

      Parameters:
      clusterInfo - cluster node information
      executor - the executor for running asynchronously.
      store - reference to the NodeStore.
      whiteboard - the underlying board for picking up the registered CommitHook
  • Method Details

    • activate

      public void activate(org.osgi.framework.BundleContext context)
    • deactivate

      public void deactivate()
    • bindCluster

      protected void bindCluster(Clusterable store)
    • unbindCluster

      protected void unbindCluster(Clusterable store)
    • bindStore

      protected void bindStore(NodeStore store)
    • unbindStore

      protected void unbindStore(NodeStore store)
    • getRootEditor

      public Editor getRootEditor(NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) throws CommitFailedException
      Description copied from interface: EditorProvider
      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.

      Specified by:
      getRootEditor in interface EditorProvider
      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