[jira] [Closed] (COLLECTIONS-727) A potential misleading comment

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Closed] (COLLECTIONS-727) A potential misleading comment

ASF GitHub Bot (Jira)

     [ https://issues.apache.org/jira/browse/COLLECTIONS-727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

XiangzheXu closed COLLECTIONS-727.
----------------------------------

> A potential misleading comment
> ------------------------------
>
>                 Key: COLLECTIONS-727
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-727
>             Project: Commons Collections
>          Issue Type: Bug
>          Components: Iterator
>    Affects Versions: 4.4
>            Reporter: XiangzheXu
>            Priority: Major
>              Labels: JavaDoc
>             Fix For: 4.5
>
>   Original Estimate: 5m
>  Remaining Estimate: 5m
>
> I was wondering whether there's something wrong in the @throws IndexOutOfBoundsException condition for the `setIterator(final int index, final Iterator<? extends E> iterator)` method in the class `org.apache.commons.collections4.iterators.CollatingIterator<E>`.
> The method and its Javadoc comment are shown as follows.
> /**
>  * Sets the iterator at the given index.
>  *
>  * @param index index of the Iterator to replace
>  * @param iterator Iterator to place at the given index
>  * @throws IndexOutOfBoundsException if index &lt; 0 or index &gt; size()
>  * @throws IllegalStateException if iteration has started
>  * @throws NullPointerException if the iterator is null
>  */
> public void setIterator(final int index, final Iterator<? extends E> iterator) {
>     checkNotStarted();
>     if (iterator == null) {
>         throw new NullPointerException("Iterator must not be null");
>     }
>     iterators.set(index, iterator);
> }
> The boundary of the parameter index is marked as `index &lt; 0 or index &gt; size()`
> in the comment.
> Nevertheless, the `set(index, iterator)` method would throw an IndexOutOfBoundsException when the index is equal to `size()`.
> So it would be better if we could change the boundary in the comment to `index &lt; 0 or index &gt;= size()`.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)