Class MoveDetector

  • All Implemented Interfaces:
    Editor, Validator

    public class MoveDetector
    extends Object
    implements Validator
    A MoveDetector is a validator that can detect certain move operations and reports these to the wrapped MoveValidator by calling MoveValidator.move(String, String, NodeState). That method is called additional to MoveValidator.childNodeAdded(String, NodeState) for the destination of the move operation and MoveValidator.childNodeDeleted(String, NodeState) for the source of the move operation.

    Detection of move operations relies on the presence of the SOURCE_PATH property. New nodes with this property set have been moved from the path indicated by the value of the property to its current location.

    Limitations:

    • Moving a moved node only reports one move from the original source to the final target.
    • Moving a transiently added node is not reported as a move operation but as an add operation on the move target.
    • Removing a moved node is not reported as a move operation but as a remove operation from the source of the move.
    • Moving a child node of a transiently moved node is reported from the original source node, not from the intermediate one.
    • Moving a node back and forth to its original location is not reported at all.