Author: cziegeler Date: Mon Oct 17 14:12:58 2016 New Revision: 1765292 URL: http://svn.apache.org/viewvc?rev=1765292&view=rev Log: Clarify javadoc regarding removal behaviour
Modified: sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java Modified: sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java?rev=1765292&r1=1765291&r2=1765292&view=diff ============================================================================== --- sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java (original) +++ sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java Mon Oct 17 14:12:58 2016 @@ -70,11 +70,14 @@ public interface ResourceChangeListener * </ul> * * <p> - * In general, it can't be guaranteed that a remove event is sent for every resource if a tree of resources - * is removed. For example if a listener is registered for {@code /foo/bar} and {@code /foo} is removed, - * the listener might not get a remove event for {@code /foo/bar}. The same is true if any pattern is used - * and any parent of a matching resource is removed. Therefore, if a listener is interested in - * remove events, it will get a remove of any parent resource from the specified path or pattern. The listener + * In general, it can't be guaranteed that the underlying implementation of the resources will send a remove + * event for each removed resource. For example if the root of a tree, like {@code /foo} is removed, the underlying + * implementation might only send a single remove event for {@code /foo} but not for any child resources. + * Therefore if a listener is interested in resource remove events, it might get remove events for resources + * that not directly match the specified pattern/filters. For example if a listener is registered for {@code /foo/bar} + * and {@code /foo} is removed, the listener will get a remove event for {@code /foo}. The same is true if any pattern is used + * and any parent of a matching resource is removed. If a listener is interested in + * remove events, it will get a remove of any parent resource from the specified paths or patterns. The listener * must handle these events accordingly. * * <p>If one of the paths is a sub resource of another specified path, the sub path is ignored.</p>