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()))
