Skip to content

Commit

Permalink
listIterator properly implemented in ArrImpl
Browse files Browse the repository at this point in the history
  • Loading branch information
michelegonella committed Apr 5, 2017
1 parent cba4960 commit 0e8a47c
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 12 deletions.
14 changes: 7 additions & 7 deletions zen-core/src/main/java/com/nominanuda/zen/common/Check.java
Expand Up @@ -229,13 +229,13 @@ public long assertGtZero(long val) {
// }
@SafeVarargs
public static <T> T ifNull(T... objs) {
for (T obj : objs) {
if (obj != null) {
return obj;
}
}
return null;
}
for (T obj : objs) {
if (obj != null) {
return obj;
}
}
return null;
}

public static <T> T ifNull(T o, Supplier<T> defaultVal) {
return o == null ? defaultVal.get() : o;
Expand Down
50 changes: 50 additions & 0 deletions zen-core/src/main/java/com/nominanuda/zen/obj/ArrImpl.java
Expand Up @@ -21,6 +21,7 @@
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;

import com.nominanuda.zen.seq.ReadOnlyCollection;
import com.nominanuda.zen.stereotype.Value;
Expand Down Expand Up @@ -196,4 +197,53 @@ public <T> TArr<T> newArr(Class<T> cl) {
return (TArr<T>)new ArrImpl();
}

@Override
public ListIterator<Object> listIterator() {
final ListIterator<Any> i = members.listIterator();
return new ListIterator<Object>() {
@Override
public boolean hasNext() {

return i.hasNext();
}
@Override
public Object next() {
final Any e = i.next();
return e.toJavaObjModel();
}
@Override
public boolean hasPrevious() {
return i.hasPrevious();
}
@Override
public Object previous() {
final Any e = i.previous();
return e.toJavaObjModel();
}
@Override
public int nextIndex() {
return i.nextIndex();
}
@Override
public int previousIndex() {
return i.previousIndex();
}
@Override
public void remove() {
i.remove();
}
@Override
public void set(Object e) {
Any a = Any.toStruObjModel(e);
i.set(a);
}
@Override
public void add(Object e) {
Any a = Any.toStruObjModel(e);
i.add(a);
}
};

}

}
5 changes: 2 additions & 3 deletions zen-core/src/main/java/com/nominanuda/zen/obj/TArr.java
Expand Up @@ -249,9 +249,8 @@ default int lastIndexOf(Object o) {
}

@Override
default ListIterator<T> listIterator() {
return new LazyCopyIterator<T>(iterator());
}
ListIterator<T> listIterator();


@Override
default ListIterator<T> listIterator(int index) {
Expand Down
Expand Up @@ -5,10 +5,8 @@
import java.util.Collections;
import java.util.Comparator;

import org.junit.Ignore;
import org.junit.Test;

@Ignore
public class ArrSortingTest {

@Test
Expand Down

0 comments on commit 0e8a47c

Please sign in to comment.