[ 
https://issues.apache.org/jira/browse/COLLECTIONS-239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12470528
 ] 

Michael Pavlov commented on COLLECTIONS-239:
--------------------------------------------

Why OrderedIterator should rely on 'next' field? Current(last returned) entry 
is in 'last' field. 
Semantically in java.util.Iterator hasNext() referes to last returned value.
My use case is: I need to iterate through map values in JSP and construct a 
table with command to move up &down. My code is:
  for (OrderedIterator I = (OrderedIterator)map.values().iterator(); 
I.hasNext();)
  {
     /* next() is the only method that can return current value, but it moves 
iterator cursor to the next entry
     so hasPrevious returns true. In order to get it right i need to remember 
it first in separate field like these*/
   // boolean hasPrevious = I.hasPrevious();
     String s = (String) I.next();%>
     <tr><td><%=s%></td><td><%if(I.hasPrevious()){%><input type="button" 
value="UP" onClick="..."/><%}%></td>...</tr><%
   
  }


> In LinkIterator hasPrevious() is not working properly for the first entry
> -------------------------------------------------------------------------
>
>                 Key: COLLECTIONS-239
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-239
>             Project: Commons Collections
>          Issue Type: Bug
>          Components: Iterator
>    Affects Versions: 3.2
>         Environment: Windows XP, jdk-1.5.0_02
>            Reporter: Michael Pavlov
>
> In hasPrevious() method of LinkIterator 'next' field is used, that is not 
> correct  - method returns 'true' for the first entry. 'last' field should be 
> used insted.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to