Ranides Atterwim il y a 4 ans
Parent
commit
157b1b5ba5

+ 3 - 1
assira.core/src/main/java/net/ranides/assira/collection/query/base/CQArray.java

@@ -62,6 +62,8 @@ public class CQArray<T> extends CQueryAbstract<T> {
         return true;
     }
 
+
+
     private boolean isSlice() {
         return begin != 0 || end != data.length;
     }
@@ -94,7 +96,7 @@ public class CQArray<T> extends CQueryAbstract<T> {
 
     @Override
     public Object[] array() {
-        return isSlice() ? ArrayUtils.slice(data, begin, end) : data;
+        return isSlice() ? ArrayUtils.slice(data, begin, end) : data.clone();
     }
 
     @Override

+ 2 - 1
assira.core/src/main/java/net/ranides/assira/collection/query/base/CQList.java

@@ -2,6 +2,7 @@ package net.ranides.assira.collection.query.base;
 
 import lombok.RequiredArgsConstructor;
 
+import net.ranides.assira.collection.lists.CopyList;
 import net.ranides.assira.collection.query.CQuery;
 import net.ranides.assira.collection.query.CQueryAbstract;
 import net.ranides.assira.collection.query.support.BaseList;
@@ -64,7 +65,7 @@ public class CQList<T> extends CQueryAbstract<T> {
 
     @Override
     public List<T> list() {
-        return data;
+        return new CopyList<>(data);
     }
 
     @Override

+ 2 - 1
assira.core/src/main/java/net/ranides/assira/collection/query/base/CQListSupplier.java

@@ -1,5 +1,6 @@
 package net.ranides.assira.collection.query.base;
 
+import net.ranides.assira.collection.lists.CopyList;
 import net.ranides.assira.collection.query.CQuery;
 import net.ranides.assira.collection.query.CQueryAbstract;
 import net.ranides.assira.collection.query.support.BaseList;
@@ -24,7 +25,7 @@ public abstract class CQListSupplier<T> extends CQueryAbstract<T> {
         return new CQListSupplier<T>() {
             @Override
             public List<T> list() {
-                return source.get();
+                return new CopyList<>(source.get());
             }
 
             @Override