You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Lukas Eder (JIRA)" <ji...@apache.org> on 2013/04/02 12:13:15 UTC

[jira] [Created] (JCR-3555) Add a static utility to transform JCR Iterators into Iterables

Lukas Eder created JCR-3555:
-------------------------------

             Summary: Add a static utility to transform JCR Iterators into Iterables
                 Key: JCR-3555
                 URL: https://issues.apache.org/jira/browse/JCR-3555
             Project: Jackrabbit Content Repository
          Issue Type: Improvement
          Components: jackrabbit-jcr-commons
    Affects Versions: 2.6
            Reporter: Lukas Eder
            Priority: Minor
         Attachments: Iterators.java.patch

I have stumbled upon the utility classes in the org.apache.jackrabbit.commons.iterator package. They're quite useful in principle, but not applied thoroughly. E.g. there are missing wrapper types for at least these JCR Iterators:

- AccessControlPolicyIterator
- EventIterator
- EventListenerIterator
- NodeTypeIterator
- VersionIterator

Instead of adding more classes, it might be useful to create static methods for the job. Using static methods from a single class (with static imports) is a bit more convenient than looking up and creating the wrapper types using "new WrapperType(...)"

An example:

org.apache.jackrabbit.commons.iterator.Iterators.iterable

// And then:
for (Node n : iterable(parent.getNodes())) {
  // Do stuff with n
}

Please find attached a .patch file containing an implementation suggestion.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira