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 ofAtomicCounterEditor
. SeeAtomicCounterEditor
for behavioural details.
-
-
Constructor Summary
Constructors Constructor Description AtomicCounterEditorProvider()
OSGi oriented constructor where all the required dependencies will be taken care of.AtomicCounterEditorProvider(@Nullable Supplier<Clusterable> clusterInfo, @Nullable Supplier<ScheduledExecutorService> executor, @Nullable Supplier<NodeStore> store, @Nullable Supplier<Whiteboard> whiteboard)
Plain Java oriented constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activate(org.osgi.framework.BundleContext context)
protected void
bindCluster(Clusterable store)
protected void
bindStore(NodeStore store)
void
deactivate()
Editor
getRootEditor(NodeState before, NodeState after, NodeBuilder builder, CommitInfo info)
Returns an editor for processing changes between the given two states.protected void
unbindCluster(Clusterable store)
protected void
unbindStore(NodeStore store)
-
-
-
Constructor Detail
-
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 informationexecutor
- the executor for running asynchronously.store
- reference to the NodeStore.whiteboard
- the underlying board for picking up the registeredCommitHook
-
-
Method Detail
-
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. Returnsnull
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 interfaceEditorProvider
- Parameters:
before
- original root stateafter
- modified root statebuilder
- node builder based on the after stateinfo
- metadata associated with this commit- Returns:
- editor for processing the changes, or
null
- Throws:
CommitFailedException
- if processing failed
-
-