Class AtomicCounterEditorProvider
java.lang.Object
org.apache.jackrabbit.oak.plugins.atomic.AtomicCounterEditorProvider
- All Implemented Interfaces:
EditorProvider
Provide an instance of
AtomicCounterEditor
. See AtomicCounterEditor
for
behavioural details.-
Constructor Summary
ConstructorsConstructorDescriptionOSGi 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
Modifier and TypeMethodDescriptionvoid
activate
(org.osgi.framework.BundleContext context) protected void
bindCluster
(Clusterable store) protected void
void
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 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 informationexecutor
- the executor for running asynchronously.store
- reference to the NodeStore.whiteboard
- the underlying board for picking up the registeredCommitHook
-
-
Method Details
-
activate
public void activate(org.osgi.framework.BundleContext context) -
deactivate
public void deactivate() -
bindCluster
-
unbindCluster
-
bindStore
-
unbindStore
-
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
-