Class IndexUpdate
java.lang.Object
org.apache.jackrabbit.oak.plugins.index.IndexUpdate
- All Implemented Interfaces:
NodeTraversalCallback.PathSource,Editor
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionIndexUpdate(IndexEditorProvider provider, String async, NodeState root, NodeBuilder builder, IndexUpdateCallback updateCallback) IndexUpdate(IndexEditorProvider provider, String async, NodeState root, NodeBuilder builder, IndexUpdateCallback updateCallback, NodeTraversalCallback traversalCallback, CommitInfo commitInfo, CorruptIndexHandler corruptIndexHandler) IndexUpdate(IndexEditorProvider provider, String async, NodeState root, NodeBuilder builder, IndexUpdateCallback updateCallback, CommitInfo commitInfo) -
Method Summary
Modifier and TypeMethodDescription@NotNull EditorchildNodeAdded(String name, NodeState after) Processes an added child node.@NotNull EditorchildNodeChanged(String name, NodeState before, NodeState after) Processes a changed child node.@Nullable EditorchildNodeDeleted(String name, NodeState before) Processes a deleted child node.voidcommitProgress(IndexCommitCallback.IndexProgress indexProgress) voidCalled before the given before and after states are compared.getPath()Returns the path of this node, building it lazily when first requested.booleanvoidCalled after the given before and after states are compared.voidpropertyAdded(PropertyState after) Processes an added property.voidpropertyChanged(PropertyState before, PropertyState after) Processes a changed property.voidpropertyDeleted(PropertyState before) Processes a removed property.voidsetIgnoreReindexFlags(boolean ignoreReindexFlag) voidsetNodeCountEstimator(org.apache.jackrabbit.oak.plugins.index.progress.NodeCountEstimator nodeCountEstimator) voidsetTraversalRateEstimator(org.apache.jackrabbit.oak.plugins.index.progress.TraversalRateEstimator estimator) withMissingProviderStrategy(IndexUpdate.MissingIndexProviderStrategy missingProvider)
-
Field Details
-
INDEX_JCR_TYPE_INVALID_LOG_LIMITER
public static final long INDEX_JCR_TYPE_INVALID_LOG_LIMITER
-
-
Constructor Details
-
IndexUpdate
public IndexUpdate(IndexEditorProvider provider, String async, NodeState root, NodeBuilder builder, IndexUpdateCallback updateCallback) -
IndexUpdate
public IndexUpdate(IndexEditorProvider provider, String async, NodeState root, NodeBuilder builder, IndexUpdateCallback updateCallback, CommitInfo commitInfo) -
IndexUpdate
public IndexUpdate(IndexEditorProvider provider, String async, NodeState root, NodeBuilder builder, IndexUpdateCallback updateCallback, NodeTraversalCallback traversalCallback, CommitInfo commitInfo, CorruptIndexHandler corruptIndexHandler)
-
-
Method Details
-
enter
Description copied from interface:EditorCalled before the given before and after states are compared. The implementation can use this method to initialize any internal state needed for processing the results of the comparison. For example an implementation could look up the effective node type of the after state to know what constraints to apply to on the content changes.- Specified by:
enterin interfaceEditor- Parameters:
before- before state, non-existent if this node was addedafter- after state, non-existent if this node was removed- Throws:
CommitFailedException- if this commit should be rejected
-
isReindexingPerformed
public boolean isReindexingPerformed() -
getReindexStats
-
getUpdatedIndexPaths
-
setTraversalRateEstimator
public void setTraversalRateEstimator(org.apache.jackrabbit.oak.plugins.index.progress.TraversalRateEstimator estimator) -
setNodeCountEstimator
public void setNodeCountEstimator(org.apache.jackrabbit.oak.plugins.index.progress.NodeCountEstimator nodeCountEstimator) -
getIndexingStats
-
setIgnoreReindexFlags
public void setIgnoreReindexFlags(boolean ignoreReindexFlag) -
getPath
Returns the path of this node, building it lazily when first requested.- Specified by:
getPathin interfaceNodeTraversalCallback.PathSource
-
leave
Description copied from interface:EditorCalled after the given before and after states are compared. The implementation can use this method to post-process information collected during the content diff. For example an implementation that during the diff just recorded the fact that this node was modified in some way could then use this method to trigger an index update based on that modification flag.- Specified by:
leavein interfaceEditor- Parameters:
before- before state, non-existent if this node was addedafter- after state, non-existent if this node was removed- Throws:
CommitFailedException- if this commit should be rejected
-
propertyAdded
Description copied from interface:EditorProcesses an added property.- Specified by:
propertyAddedin interfaceEditor- Parameters:
after- the added property- Throws:
CommitFailedException- if processing failed
-
propertyChanged
Description copied from interface:EditorProcesses a changed property.- Specified by:
propertyChangedin interfaceEditor- Parameters:
before- the original propertyafter- the changed property- Throws:
CommitFailedException- if processing failed
-
propertyDeleted
Description copied from interface:EditorProcesses a removed property.- Specified by:
propertyDeletedin interfaceEditor- Parameters:
before- the removed property- Throws:
CommitFailedException- if processing failed
-
childNodeAdded
@NotNull public @NotNull Editor childNodeAdded(String name, NodeState after) throws CommitFailedException Description copied from interface:EditorProcesses an added child node.- Specified by:
childNodeAddedin interfaceEditor- Parameters:
name- name of the added nodeafter- the added child node- Returns:
- an editor for processing the subtree below the added node,
or
nullif the subtree does not need processing - Throws:
CommitFailedException- if processing failed
-
childNodeChanged
@NotNull public @NotNull Editor childNodeChanged(String name, NodeState before, NodeState after) throws CommitFailedException Description copied from interface:EditorProcesses a changed child node. This method gets called for all child nodes that may contain changes between the before and after states.- Specified by:
childNodeChangedin interfaceEditor- Parameters:
name- name of the changed nodebefore- child node before the changeafter- child node after the change- Returns:
- an editor for processing the subtree below the added node,
or
nullif the subtree does not need processing - Throws:
CommitFailedException- if processing failed
-
childNodeDeleted
@Nullable public @Nullable Editor childNodeDeleted(String name, NodeState before) throws CommitFailedException Description copied from interface:EditorProcesses a deleted child node.- Specified by:
childNodeDeletedin interfaceEditor- Parameters:
name- name of the deleted nodebefore- the deleted child node- Returns:
- an editor for processing the subtree below the removed node,
or
nullif the subtree does not need processing - Throws:
CommitFailedException- if processing failed
-
commitProgress
-
withMissingProviderStrategy
public IndexUpdate withMissingProviderStrategy(IndexUpdate.MissingIndexProviderStrategy missingProvider)
-