This is an automated email from the ASF dual-hosted git repository.

bchapuis pushed a commit to branch data-refactoring
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git

commit 8376475873015ac938a4ec438cdb5d1611134b89
Author: Bertil Chapuis <[email protected]>
AuthorDate: Sat Apr 5 13:09:44 2025 +0200

    Use the builder pattern for the MonotonicFixedSizeDataMap
---
 .../data/collection/MonotonicFixedSizeDataMap.java | 33 ++++++----------------
 .../java/org/apache/baremaps/data/DataMapTest.java |  7 +++--
 2 files changed, 12 insertions(+), 28 deletions(-)

diff --git 
a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicFixedSizeDataMap.java
 
b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicFixedSizeDataMap.java
index ad0bc195f..cd3ccd199 100644
--- 
a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicFixedSizeDataMap.java
+++ 
b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicFixedSizeDataMap.java
@@ -104,47 +104,30 @@ public class MonotonicFixedSizeDataMap<E> implements 
DataMap<Long, E> {
         throw new IllegalStateException("Values must be specified");
       }
       
-      if (offsets == null && keys == null) {
-        return new MonotonicFixedSizeDataMap<>(values);
-      } else if (offsets == null) {
+      if (offsets == null) {
         offsets = MemoryAlignedDataList.<Long>builder()
             .dataType(new LongDataType())
             .build();
-        return new MonotonicFixedSizeDataMap<>(offsets, keys, values);
-      } else if (keys == null) {
+      }
+      
+      if (keys == null) {
         keys = MemoryAlignedDataList.<Long>builder()
             .dataType(new LongDataType())
             .build();
-        return new MonotonicFixedSizeDataMap<>(offsets, keys, values);
-      } else {
-        return new MonotonicFixedSizeDataMap<>(offsets, keys, values);
       }
+      
+      return new MonotonicFixedSizeDataMap<>(offsets, keys, values);
     }
   }
 
   /**
-   * Constructs a {@link MonotonicFixedSizeDataMap} with default lists for 
storing offsets and keys.
-   *
-   * @param values the list of values
-   */
-  public MonotonicFixedSizeDataMap(DataList<E> values) {
-    this(MemoryAlignedDataList.<Long>builder()
-            .dataType(new LongDataType())
-            .build(),
-        MemoryAlignedDataList.<Long>builder()
-            .dataType(new LongDataType())
-            .build(), 
-        values);
-  }
-
-  /**
-   * Constructs a {@link MonotonicFixedSizeDataMap}.
+   * Private constructor for {@link MonotonicFixedSizeDataMap}.
    *
    * @param offsets the list of offsets
    * @param keys the list of keys
    * @param values the list of values
    */
-  public MonotonicFixedSizeDataMap(
+  private MonotonicFixedSizeDataMap(
       DataList<Long> offsets,
       DataList<Long> keys,
       DataList<E> values) {
diff --git 
a/baremaps-data/src/test/java/org/apache/baremaps/data/DataMapTest.java 
b/baremaps-data/src/test/java/org/apache/baremaps/data/DataMapTest.java
index cd432452e..5755d0758 100644
--- a/baremaps-data/src/test/java/org/apache/baremaps/data/DataMapTest.java
+++ b/baremaps-data/src/test/java/org/apache/baremaps/data/DataMapTest.java
@@ -171,11 +171,12 @@ class DataMapTest {
                         .memory(new OffHeapMemory())
                         .build())
                     .build()),
-            Arguments.of(new MonotonicFixedSizeDataMap<>(
-                MemoryAlignedDataList.<Long>builder()
+            Arguments.of(MonotonicFixedSizeDataMap.<Long>builder()
+                .values(MemoryAlignedDataList.<Long>builder()
                     .dataType(new LongDataType())
                     .memory(new OffHeapMemory())
-                    .build())),
+                    .build())
+                .build()),
             Arguments.of(MonotonicDataMap.<Long>builder()
                 .keys(MemoryAlignedDataList.<PairDataType.Pair<Long, 
Long>>builder()
                     .dataType(new PairDataType<>(new LongDataType(), new 
LongDataType()))

Reply via email to