Class AtomicCounterEditorProvider

    • Constructor Detail

      • AtomicCounterEditorProvider

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

        public AtomicCounterEditorProvider​(@Nullable
                                           @Nullable java.util.function.Supplier<Clusterable> clusterInfo,
                                           @Nullable
                                           @Nullable java.util.function.Supplier<java.util.concurrent.ScheduledExecutorService> executor,
                                           @Nullable
                                           @Nullable java.util.function.Supplier<NodeStore> store,
                                           @Nullable
                                           @Nullable java.util.function.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 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. 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