In bulk API, we delete a node by not mentioning the deleted node id in children/annotations of its parent on calling store()
The deleted node then becomes an orphan (#219), if supported. Otherwise, the deleted node is gone (#220).
We could have an explicit delete() operation in different variants:
Variant A: delete() can only delete orphans, thus is only part of Trash API (#217).
delete just makes sure orphans are really gone (#220).
If the repository does not support orphans, this call is a no-op.
Variant B: delete() can delete both regular nodes and orphans
Any explicitly deleted node would be completely gone (#220).
If we delete a node, we implicitly remove it from its parent's containment/annotation.
In bulk API, we delete a node by not mentioning the deleted node id in
children/annotationsof its parent on calling store()The deleted node then becomes an orphan (#219), if supported. Otherwise, the deleted node is gone (#220).
We could have an explicit delete() operation in different variants:
Variant A: delete() can only delete orphans, thus is only part of Trash API (#217).
delete just makes sure orphans are really gone (#220).
If the repository does not support orphans, this call is a no-op.
Variant B: delete() can delete both regular nodes and orphans
Any explicitly deleted node would be completely gone (#220).
If we delete a node, we implicitly remove it from its parent's containment/annotation.