diff --git a/zen-core/src/main/java/com/nominanuda/zen/common/Check.java b/zen-core/src/main/java/com/nominanuda/zen/common/Check.java index 7511259..758e644 100644 --- a/zen-core/src/main/java/com/nominanuda/zen/common/Check.java +++ b/zen-core/src/main/java/com/nominanuda/zen/common/Check.java @@ -229,13 +229,13 @@ public long assertGtZero(long val) { // } @SafeVarargs public static 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 ifNull(T o, Supplier defaultVal) { return o == null ? defaultVal.get() : o; diff --git a/zen-core/src/main/java/com/nominanuda/zen/obj/ArrImpl.java b/zen-core/src/main/java/com/nominanuda/zen/obj/ArrImpl.java index 11273aa..1a9ab33 100644 --- a/zen-core/src/main/java/com/nominanuda/zen/obj/ArrImpl.java +++ b/zen-core/src/main/java/com/nominanuda/zen/obj/ArrImpl.java @@ -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; @@ -196,4 +197,53 @@ public TArr newArr(Class cl) { return (TArr)new ArrImpl(); } + @Override + public ListIterator listIterator() { + final ListIterator i = members.listIterator(); + return new ListIterator() { + @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); + } + }; + + } + } diff --git a/zen-core/src/main/java/com/nominanuda/zen/obj/TArr.java b/zen-core/src/main/java/com/nominanuda/zen/obj/TArr.java index be8ce1c..3bad963 100644 --- a/zen-core/src/main/java/com/nominanuda/zen/obj/TArr.java +++ b/zen-core/src/main/java/com/nominanuda/zen/obj/TArr.java @@ -249,9 +249,8 @@ default int lastIndexOf(Object o) { } @Override - default ListIterator listIterator() { - return new LazyCopyIterator(iterator()); - } + ListIterator listIterator(); + @Override default ListIterator listIterator(int index) { diff --git a/zen-core/src/test/java/com/nominanuda/zen/obj/ArrSortingTest.java b/zen-core/src/test/java/com/nominanuda/zen/obj/ArrSortingTest.java index 3a5e2c5..066d31e 100644 --- a/zen-core/src/test/java/com/nominanuda/zen/obj/ArrSortingTest.java +++ b/zen-core/src/test/java/com/nominanuda/zen/obj/ArrSortingTest.java @@ -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