Class VisibleValidator

java.lang.Object
org.apache.jackrabbit.oak.spi.commit.VisibleValidator
All Implemented Interfaces:
Editor, Validator

public class VisibleValidator extends Object implements Validator
Validator implementation that allows to exclude hidden nodes and/or properties for the validation process.
  • Constructor Details

    • VisibleValidator

      public VisibleValidator(@NotNull @NotNull Validator validator, boolean hideNodes, boolean hideProperties)
  • Method Details

    • enter

      public void enter(NodeState before, NodeState after) throws org.apache.jackrabbit.oak.api.CommitFailedException
      Description copied from interface: Editor
      Called 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:
      enter in interface Editor
      Parameters:
      before - before state, non-existent if this node was added
      after - after state, non-existent if this node was removed
      Throws:
      org.apache.jackrabbit.oak.api.CommitFailedException - if this commit should be rejected
    • leave

      public void leave(NodeState before, NodeState after) throws org.apache.jackrabbit.oak.api.CommitFailedException
      Description copied from interface: Editor
      Called 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:
      leave in interface Editor
      Parameters:
      before - before state, non-existent if this node was added
      after - after state, non-existent if this node was removed
      Throws:
      org.apache.jackrabbit.oak.api.CommitFailedException - if this commit should be rejected
    • propertyAdded

      public void propertyAdded(org.apache.jackrabbit.oak.api.PropertyState after) throws org.apache.jackrabbit.oak.api.CommitFailedException
      Description copied from interface: Validator
      Validate an added property
      Specified by:
      propertyAdded in interface Editor
      Specified by:
      propertyAdded in interface Validator
      Parameters:
      after - the added property
      Throws:
      org.apache.jackrabbit.oak.api.CommitFailedException - if validation fails.
    • propertyChanged

      public void propertyChanged(org.apache.jackrabbit.oak.api.PropertyState before, org.apache.jackrabbit.oak.api.PropertyState after) throws org.apache.jackrabbit.oak.api.CommitFailedException
      Description copied from interface: Validator
      Validate a changed property
      Specified by:
      propertyChanged in interface Editor
      Specified by:
      propertyChanged in interface Validator
      Parameters:
      before - the original property
      after - the changed property
      Throws:
      org.apache.jackrabbit.oak.api.CommitFailedException - if validation fails.
    • propertyDeleted

      public void propertyDeleted(org.apache.jackrabbit.oak.api.PropertyState before) throws org.apache.jackrabbit.oak.api.CommitFailedException
      Description copied from interface: Validator
      Validate a deleted property
      Specified by:
      propertyDeleted in interface Editor
      Specified by:
      propertyDeleted in interface Validator
      Parameters:
      before - the original property
      Throws:
      org.apache.jackrabbit.oak.api.CommitFailedException - if validation fails.
    • childNodeAdded

      @Nullable public @Nullable Validator childNodeAdded(String name, NodeState after) throws org.apache.jackrabbit.oak.api.CommitFailedException
      Description copied from interface: Validator
      Validate an added node
      Specified by:
      childNodeAdded in interface Editor
      Specified by:
      childNodeAdded in interface Validator
      Parameters:
      name - the name of the added node
      after - the added node
      Returns:
      a Validator for after or null if validation should not decent into the subtree rooted at after.
      Throws:
      org.apache.jackrabbit.oak.api.CommitFailedException - if validation fails.
    • childNodeChanged

      @Nullable public @Nullable Validator childNodeChanged(String name, NodeState before, NodeState after) throws org.apache.jackrabbit.oak.api.CommitFailedException
      Description copied from interface: Validator
      Validate a changed node
      Specified by:
      childNodeChanged in interface Editor
      Specified by:
      childNodeChanged in interface Validator
      Parameters:
      name - the name of the changed node
      before - the original node
      after - the changed node
      Returns:
      a Validator for after or null if validation should not decent into the subtree rooted at after.
      Throws:
      org.apache.jackrabbit.oak.api.CommitFailedException - if validation fails.
    • childNodeDeleted

      @Nullable public @Nullable Validator childNodeDeleted(String name, NodeState before) throws org.apache.jackrabbit.oak.api.CommitFailedException
      Description copied from interface: Validator
      Validate a deleted node
      Specified by:
      childNodeDeleted in interface Editor
      Specified by:
      childNodeDeleted in interface Validator
      Parameters:
      name - The name of the deleted node.
      before - the original node
      Returns:
      a Validator for the removed subtree or null if validation should not decent into the subtree
      Throws:
      org.apache.jackrabbit.oak.api.CommitFailedException - if validation fails.