You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ch...@apache.org on 2017/07/11 17:55:35 UTC

[50/77] [abbrv] commons-collections git commit: return type narrowing

return type narrowing

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/collections/branches/collections_jdk5_branch@751869 13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/commons-collections/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-collections/commit/68e12b97
Tree: http://git-wip-us.apache.org/repos/asf/commons-collections/tree/68e12b97
Diff: http://git-wip-us.apache.org/repos/asf/commons-collections/diff/68e12b97

Branch: refs/heads/collections_jdk5_branch
Commit: 68e12b979ee37045a152805e4165acaca896a585
Parents: 783aa51
Author: Matthew Jason Benson <mb...@apache.org>
Authored: Mon Mar 9 22:10:00 2009 +0000
Committer: Matthew Jason Benson <mb...@apache.org>
Committed: Mon Mar 9 22:10:00 2009 +0000

----------------------------------------------------------------------
 .../commons/collections/set/ListOrderedSet.java | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-collections/blob/68e12b97/src/java/org/apache/commons/collections/set/ListOrderedSet.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/commons/collections/set/ListOrderedSet.java b/src/java/org/apache/commons/collections/set/ListOrderedSet.java
index beb3990..82ed03c 100644
--- a/src/java/org/apache/commons/collections/set/ListOrderedSet.java
+++ b/src/java/org/apache/commons/collections/set/ListOrderedSet.java
@@ -21,8 +21,10 @@ import java.util.Collection;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.ListIterator;
 import java.util.Set;
 
+import org.apache.commons.collections.OrderedIterator;
 import org.apache.commons.collections.iterators.AbstractIteratorDecorator;
 import org.apache.commons.collections.list.UnmodifiableList;
 
@@ -171,8 +173,8 @@ public class ListOrderedSet<E> extends AbstractSerializableSetDecorator<E> imple
         setOrder.clear();
     }
 
-    public Iterator<E> iterator() {
-        return new OrderedSetIterator<E>(setOrder.iterator(), collection);
+    public OrderedIterator<E> iterator() {
+        return new OrderedSetIterator<E>(setOrder.listIterator(), collection);
     }
 
     public boolean add(E object) {
@@ -279,14 +281,15 @@ public class ListOrderedSet<E> extends AbstractSerializableSetDecorator<E> imple
     /**
      * Internal iterator handle remove.
      */
-    static class OrderedSetIterator<E> extends AbstractIteratorDecorator<E> {
+    static class OrderedSetIterator<E> extends AbstractIteratorDecorator<E> implements OrderedIterator<E> {
 
         /** Object we iterate on */
         protected final Collection<E> set;
+
         /** Last object retrieved */
         protected E last;
 
-        private OrderedSetIterator(Iterator<E> iterator, Collection<E> set) {
+        private OrderedSetIterator(ListIterator<E> iterator, Collection<E> set) {
             super(iterator);
             this.set = set;
         }
@@ -301,6 +304,15 @@ public class ListOrderedSet<E> extends AbstractSerializableSetDecorator<E> imple
             iterator.remove();
             last = null;
         }
+
+        public boolean hasPrevious() {
+            return ((ListIterator<E>) iterator).hasPrevious();
+        }
+
+        public E previous() {
+            last = ((ListIterator<E>) iterator).previous();
+            return last;
+        }
     }
 
 }