From: Mathieu Baudier Date: Mon, 2 May 2011 15:32:30 +0000 (+0000) Subject: Add filtering of children nodes X-Git-Tag: argeo-commons-2.1.30~1261 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=e3b2c1c52f9ef12f255fef35daf960236765b28c;p=lgpl%2Fargeo-commons.git Add filtering of children nodes git-svn-id: https://svn.argeo.org/commons/trunk@4493 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/AbstractNodeContentProvider.java b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/AbstractNodeContentProvider.java index 72a14baf8..cc8afeafe 100644 --- a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/AbstractNodeContentProvider.java +++ b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/AbstractNodeContentProvider.java @@ -63,10 +63,21 @@ public abstract class AbstractNodeContentProvider extends return children; } + /** + * To be overridden in order to filter out some nodes. Does nothing by + * default. The provided list is a temporary one and can thus be modified + * directly . (e.g. via an iterator) + */ + protected List filterChildren(List children) + throws RepositoryException { + return children; + } + protected Object[] getChildren(Node node) throws RepositoryException { List nodes = new ArrayList(); for (NodeIterator nit = node.getNodes(); nit.hasNext();) nodes.add(nit.nextNode()); + nodes = filterChildren(nodes); return nodes.toArray(); }