From 226c458389f2257f2bc090b0188a45c2f473b26c Mon Sep 17 00:00:00 2001 From: Davide Angelocola Date: Tue, 23 Jun 2026 08:36:10 +0200 Subject: [PATCH] refactor(decode): drop unused accepts(DType) from EncodingDecoder SPI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit accepts(DType) was a residual of the ADR-0001 read/write runtime split: the pre-split unified Encoding interface combined encode + accepts + decode, and the split copied the full method set onto both EncodingDecoder and EncodingEncoder. accepts is encode-selection semantics ("can this encoding *encode* the dtype") — the writer's CascadingCompressor and friends still use EncodingEncoder.accepts, but the reader dispatches decoders purely by EncodingId (ReadRegistry's Map) and never calls it. The method has been dead on the read side since the split; SonarCloud flagged it as uncovered on BitpackedEncodingDecoder. Remove accepts from the EncodingDecoder interface and all 33 implementations, plus the decoder-side accepts assertions in the unit tests (the writer encoder.accepts assertions stay). Added a DictEncodingDecoderTest#encodingId test to keep that outer class from collapsing to a checkstyle utility class once its only non-nested test was removed. EncodingEncoder.accepts is unchanged. Verified: full unit suite (all modules) green; reader/writer build clean (javac -Werror, checkstyle, javadoc). Co-Authored-By: Claude Opus 4.8 --- .../reader/decode/AlpEncodingDecoder.java | 8 ------- .../reader/decode/AlpRdEncodingDecoder.java | 8 ------- .../decode/BitpackedEncodingDecoder.java | 11 ---------- .../reader/decode/BoolEncodingDecoder.java | 6 ----- .../decode/ByteBoolEncodingDecoder.java | 6 ----- .../reader/decode/ChunkedEncodingDecoder.java | 7 ------ .../decode/ConstantEncodingDecoder.java | 5 ----- .../decode/DateTimePartsEncodingDecoder.java | 5 ----- .../DecimalBytePartsEncodingDecoder.java | 5 ----- .../reader/decode/DecimalEncodingDecoder.java | 6 ----- .../reader/decode/DeltaEncodingDecoder.java | 11 ---------- .../reader/decode/DictEncodingDecoder.java | 5 ----- .../vortex/reader/decode/EncodingDecoder.java | 7 ------ .../reader/decode/ExtEncodingDecoder.java | 5 ----- .../decode/FixedSizeListEncodingDecoder.java | 5 ----- .../FrameOfReferenceEncodingDecoder.java | 5 ----- .../reader/decode/FsstEncodingDecoder.java | 5 ----- .../reader/decode/ListEncodingDecoder.java | 5 ----- .../decode/ListViewEncodingDecoder.java | 5 ----- .../reader/decode/MaskedEncodingDecoder.java | 5 ----- .../reader/decode/NullEncodingDecoder.java | 6 ----- .../reader/decode/PatchedEncodingDecoder.java | 5 ----- .../reader/decode/PcoEncodingDecoder.java | 5 ----- .../decode/PrimitiveEncodingDecoder.java | 5 ----- .../reader/decode/RleEncodingDecoder.java | 5 ----- .../reader/decode/RunEndEncodingDecoder.java | 5 ----- .../decode/SequenceEncodingDecoder.java | 5 ----- .../reader/decode/SparseEncodingDecoder.java | 5 ----- .../reader/decode/StructEncodingDecoder.java | 5 ----- .../reader/decode/VarBinEncodingDecoder.java | 5 ----- .../decode/VarBinViewEncodingDecoder.java | 5 ----- .../reader/decode/VariantEncodingDecoder.java | 5 ----- .../reader/decode/ZigZagEncodingDecoder.java | 9 -------- .../reader/decode/ZstdEncodingDecoder.java | 5 ----- .../dfa1/vortex/reader/VortexReaderTest.java | 6 ----- .../reader/decode/AlpEncodingDecoderTest.java | 9 -------- .../decode/DecimalEncodingDecoderTest.java | 8 ------- .../decode/DictEncodingDecoderTest.java | 6 ++--- .../decode/VarBinViewEncodingDecoderTest.java | 8 ------- .../decode/ZigZagEncodingDecoderTest.java | 22 ------------------- .../encode/AlpRdEncodingEncoderTest.java | 4 ---- .../encode/DeltaEncodingEncoderTest.java | 5 +---- 42 files changed, 3 insertions(+), 265 deletions(-) diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/AlpEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/AlpEncodingDecoder.java index 2acc2901e..3eeaa10ec 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/AlpEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/AlpEncodingDecoder.java @@ -38,14 +38,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_ALP; } - @Override - public boolean accepts(DType dtype) { - if (!(dtype instanceof DType.Primitive p)) { - return false; - } - return p.ptype() == PType.F64 || p.ptype() == PType.F32; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer rawMeta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/AlpRdEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/AlpRdEncodingDecoder.java index fa3006e9d..79312922c 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/AlpRdEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/AlpRdEncodingDecoder.java @@ -34,14 +34,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_ALPRD; } - @Override - public boolean accepts(DType dtype) { - if (!(dtype instanceof DType.Primitive p)) { - return false; - } - return p.ptype() == PType.F32 || p.ptype() == PType.F64; - } - @Override public Array decode(DecodeContext ctx) { ALPRDMetadata meta = parseMeta(ctx); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/BitpackedEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/BitpackedEncodingDecoder.java index 563a53509..b0b867916 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/BitpackedEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/BitpackedEncodingDecoder.java @@ -31,17 +31,6 @@ public EncodingId encodingId() { return EncodingId.FASTLANES_BITPACKED; } - @Override - public boolean accepts(DType dtype) { - if (!(dtype instanceof DType.Primitive p)) { - return false; - } - return switch (p.ptype()) { - case I8, I16, I32, I64, U8, U16, U32, U64 -> true; - default -> false; - }; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer rawMeta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/BoolEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/BoolEncodingDecoder.java index 5aad4b5d2..62ec31212 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/BoolEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/BoolEncodingDecoder.java @@ -1,6 +1,5 @@ package io.github.dfa1.vortex.reader.decode; -import io.github.dfa1.vortex.core.DType; import io.github.dfa1.vortex.encoding.EncodingId; import io.github.dfa1.vortex.reader.array.Array; import io.github.dfa1.vortex.reader.array.MaterializedBoolArray; @@ -19,11 +18,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_BOOL; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Bool; - } - @Override public Array decode(DecodeContext ctx) { return new MaterializedBoolArray(ctx.dtype(), ctx.rowCount(), ctx.buffer(0)); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ByteBoolEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ByteBoolEncodingDecoder.java index b4331aef6..a28a05f5b 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ByteBoolEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ByteBoolEncodingDecoder.java @@ -1,6 +1,5 @@ package io.github.dfa1.vortex.reader.decode; -import io.github.dfa1.vortex.core.DType; import io.github.dfa1.vortex.encoding.EncodingId; import io.github.dfa1.vortex.reader.array.Array; import io.github.dfa1.vortex.reader.array.MaterializedBoolArray; @@ -21,11 +20,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_BYTEBOOL; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Bool; - } - @Override public Array decode(DecodeContext ctx) { long n = ctx.rowCount(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ChunkedEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ChunkedEncodingDecoder.java index 96f30a41a..e41db0b49 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ChunkedEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ChunkedEncodingDecoder.java @@ -35,13 +35,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_CHUNKED; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Primitive - || dtype instanceof DType.Bool - || dtype instanceof DType.Struct; - } - @Override public Array decode(DecodeContext ctx) { int nchildren = ctx.node().children().length; diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ConstantEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ConstantEncodingDecoder.java index d5e130576..b247d3cc0 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ConstantEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ConstantEncodingDecoder.java @@ -35,11 +35,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_CONSTANT; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Primitive; - } - @Override public Array decode(DecodeContext ctx) { MemorySegment scalarBuf = ctx.buffer(0); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DateTimePartsEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DateTimePartsEncodingDecoder.java index d6328a20e..df0644718 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DateTimePartsEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DateTimePartsEncodingDecoder.java @@ -33,11 +33,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_DATETIMEPARTS; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Extension; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer meta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DecimalBytePartsEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DecimalBytePartsEncodingDecoder.java index 57b99c411..2893c8e53 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DecimalBytePartsEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DecimalBytePartsEncodingDecoder.java @@ -24,11 +24,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_DECIMAL_BYTE_PARTS; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Decimal; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer meta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DecimalEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DecimalEncodingDecoder.java index 4d678492a..baa8dee6f 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DecimalEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DecimalEncodingDecoder.java @@ -1,6 +1,5 @@ package io.github.dfa1.vortex.reader.decode; -import io.github.dfa1.vortex.core.DType; import io.github.dfa1.vortex.core.VortexException; import io.github.dfa1.vortex.reader.array.Array; import io.github.dfa1.vortex.reader.array.LazyDecimalArray; @@ -23,11 +22,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_DECIMAL; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Decimal; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer meta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DeltaEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DeltaEncodingDecoder.java index 491cfdca5..6a01bc238 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DeltaEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DeltaEncodingDecoder.java @@ -31,17 +31,6 @@ public EncodingId encodingId() { return EncodingId.FASTLANES_DELTA; } - @Override - public boolean accepts(DType dtype) { - if (!(dtype instanceof DType.Primitive p)) { - return false; - } - return switch (p.ptype()) { - case I8, I16, I32, I64, U8, U16, U32, U64 -> true; - default -> false; - }; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer rawMeta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DictEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DictEncodingDecoder.java index 3915d2b0e..1c4030feb 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DictEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/DictEncodingDecoder.java @@ -43,11 +43,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_DICT; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Primitive || dtype instanceof DType.Utf8; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer meta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/EncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/EncodingDecoder.java index ab4f9783b..dd1343c02 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/EncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/EncodingDecoder.java @@ -1,6 +1,5 @@ package io.github.dfa1.vortex.reader.decode; -import io.github.dfa1.vortex.core.DType; import io.github.dfa1.vortex.reader.array.Array; import io.github.dfa1.vortex.encoding.EncodingId; @@ -16,12 +15,6 @@ public interface EncodingDecoder { /// @return the wire identifier EncodingId encodingId(); - /// Returns whether this decoder handles the given dtype. - /// - /// @param dtype the dtype to test - /// @return `true` if this decoder can handle arrays of `dtype` - boolean accepts(DType dtype); - /// Decodes an array node from the file using the provided context. /// /// @param ctx decoding context containing buffers, dtype, row count, and child registry diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ExtEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ExtEncodingDecoder.java index 174e532ed..3618c75ce 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ExtEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ExtEncodingDecoder.java @@ -17,11 +17,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_EXT; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Extension; - } - @Override public Array decode(DecodeContext ctx) { if (!(ctx.dtype() instanceof DType.Extension ext)) { diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FixedSizeListEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FixedSizeListEncodingDecoder.java index 5266613ad..012edacd5 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FixedSizeListEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FixedSizeListEncodingDecoder.java @@ -18,11 +18,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_FIXED_SIZE_LIST; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.FixedSizeList; - } - @Override public Array decode(DecodeContext ctx) { if (!(ctx.dtype() instanceof DType.FixedSizeList fsl)) { diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FrameOfReferenceEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FrameOfReferenceEncodingDecoder.java index 73e592bdf..0fbf186e0 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FrameOfReferenceEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FrameOfReferenceEncodingDecoder.java @@ -28,11 +28,6 @@ public EncodingId encodingId() { return EncodingId.FASTLANES_FOR; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Primitive p && !p.ptype().isFloating(); - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer rawMeta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FsstEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FsstEncodingDecoder.java index e4ad348e8..d6064a7cf 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FsstEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/FsstEncodingDecoder.java @@ -28,11 +28,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_FSST; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Utf8 || dtype instanceof DType.Binary; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer rawMeta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ListEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ListEncodingDecoder.java index 46eddc32f..bc8ab41cc 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ListEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ListEncodingDecoder.java @@ -23,11 +23,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_LIST; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.List; - } - @Override public Array decode(DecodeContext ctx) { if (!(ctx.dtype() instanceof DType.List listDtype)) { diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ListViewEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ListViewEncodingDecoder.java index a94e1f103..5e3141c12 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ListViewEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ListViewEncodingDecoder.java @@ -23,11 +23,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_LISTVIEW; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.List; - } - @Override public Array decode(DecodeContext ctx) { if (!(ctx.dtype() instanceof DType.List listDtype)) { diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/MaskedEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/MaskedEncodingDecoder.java index 4f75fd4a8..8f8522e19 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/MaskedEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/MaskedEncodingDecoder.java @@ -19,11 +19,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_MASKED; } - @Override - public boolean accepts(DType dtype) { - return false; - } - @Override public Array decode(DecodeContext ctx) { if (ctx.node().bufferIndices().length != 0) { diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/NullEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/NullEncodingDecoder.java index ebc034ff0..1db69b51b 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/NullEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/NullEncodingDecoder.java @@ -1,6 +1,5 @@ package io.github.dfa1.vortex.reader.decode; -import io.github.dfa1.vortex.core.DType; import io.github.dfa1.vortex.reader.array.Array; import io.github.dfa1.vortex.reader.array.NullArray; import io.github.dfa1.vortex.encoding.EncodingId; @@ -17,11 +16,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_NULL; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Null; - } - @Override public Array decode(DecodeContext ctx) { return new NullArray(ctx.dtype(), ctx.rowCount()); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PatchedEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PatchedEncodingDecoder.java index 3c26a95e3..62b4eb00b 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PatchedEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PatchedEncodingDecoder.java @@ -30,11 +30,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_PATCHED; } - @Override - public boolean accepts(DType dtype) { - return false; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer rawMeta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PcoEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PcoEncodingDecoder.java index 3c3641e2c..a089896eb 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PcoEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PcoEncodingDecoder.java @@ -43,11 +43,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_PCO; } - @Override - public boolean accepts(DType dtype) { - return false; - } - @Override public Array decode(DecodeContext ctx) { PcoMetadata meta = parseMeta(ctx); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PrimitiveEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PrimitiveEncodingDecoder.java index 9f405f3ad..9c436fa3a 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PrimitiveEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/PrimitiveEncodingDecoder.java @@ -29,11 +29,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_PRIMITIVE; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Primitive; - } - @Override public Array decode(DecodeContext ctx) { MemorySegment buf = ctx.buffer(0); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/RleEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/RleEncodingDecoder.java index 98caa8bc5..7468b6e8c 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/RleEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/RleEncodingDecoder.java @@ -38,11 +38,6 @@ public EncodingId encodingId() { return EncodingId.FASTLANES_RLE; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Primitive p && !p.ptype().isFloating(); - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer rawMeta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/RunEndEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/RunEndEncodingDecoder.java index 689d42363..0d0e3aadb 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/RunEndEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/RunEndEncodingDecoder.java @@ -38,11 +38,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_RUNEND; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Primitive p && !p.ptype().isFloating(); - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer rawMeta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/SequenceEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/SequenceEncodingDecoder.java index 2a3e30fe4..0ec996ab4 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/SequenceEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/SequenceEncodingDecoder.java @@ -34,11 +34,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_SEQUENCE; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Primitive; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer metaBuf = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/SparseEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/SparseEncodingDecoder.java index cc7df618f..9d152cac6 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/SparseEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/SparseEncodingDecoder.java @@ -43,11 +43,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_SPARSE; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Primitive; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer rawMeta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/StructEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/StructEncodingDecoder.java index 7c47990bf..1e32dba7b 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/StructEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/StructEncodingDecoder.java @@ -23,11 +23,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_STRUCT; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Struct; - } - @Override public Array decode(DecodeContext ctx) { int numChildren = ctx.node().children().length; diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VarBinEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VarBinEncodingDecoder.java index bb08535d9..154222ecd 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VarBinEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VarBinEncodingDecoder.java @@ -24,11 +24,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_VARBIN; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Utf8 || dtype instanceof DType.Binary; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer rawMeta = ctx.metadata(); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VarBinViewEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VarBinViewEncodingDecoder.java index 0b84f43db..ffe8c1eec 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VarBinViewEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VarBinViewEncodingDecoder.java @@ -20,11 +20,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_VARBINVIEW; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Utf8 || dtype instanceof DType.Binary; - } - @Override public Array decode(DecodeContext ctx) { if (!(ctx.dtype() instanceof DType.Utf8 || ctx.dtype() instanceof DType.Binary)) { diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VariantEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VariantEncodingDecoder.java index 029c5f80d..e64baaaed 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VariantEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/VariantEncodingDecoder.java @@ -26,11 +26,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_VARIANT; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Variant; - } - @Override public Array decode(DecodeContext ctx) { DType shreddedDtype = parseShreddedDtype(ctx.metadata()); diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZigZagEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZigZagEncodingDecoder.java index 9a295aa1a..ed23daaaf 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZigZagEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZigZagEncodingDecoder.java @@ -30,15 +30,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_ZIGZAG; } - @Override - public boolean accepts(DType dtype) { - if (!(dtype instanceof DType.Primitive p)) { - return false; - } - PType pt = p.ptype(); - return pt == PType.I8 || pt == PType.I16 || pt == PType.I32 || pt == PType.I64; - } - @Override public Array decode(DecodeContext ctx) { if (!(ctx.dtype() instanceof DType.Primitive p)) { diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZstdEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZstdEncodingDecoder.java index c57094f17..00897a0b3 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZstdEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZstdEncodingDecoder.java @@ -38,11 +38,6 @@ public EncodingId encodingId() { return EncodingId.VORTEX_ZSTD; } - @Override - public boolean accepts(DType dtype) { - return dtype instanceof DType.Primitive || dtype instanceof DType.Utf8 || dtype instanceof DType.Binary; - } - @Override public Array decode(DecodeContext ctx) { ByteBuffer rawMeta = ctx.metadata(); diff --git a/reader/src/test/java/io/github/dfa1/vortex/reader/VortexReaderTest.java b/reader/src/test/java/io/github/dfa1/vortex/reader/VortexReaderTest.java index 3fe11d78e..e332cf349 100644 --- a/reader/src/test/java/io/github/dfa1/vortex/reader/VortexReaderTest.java +++ b/reader/src/test/java/io/github/dfa1/vortex/reader/VortexReaderTest.java @@ -1,6 +1,5 @@ package io.github.dfa1.vortex.reader; -import io.github.dfa1.vortex.core.DType; import io.github.dfa1.vortex.core.VortexException; import io.github.dfa1.vortex.core.VortexFormat; import io.github.dfa1.vortex.reader.array.Array; @@ -37,11 +36,6 @@ public EncodingId encodingId() { return encodingId; } - @Override - public boolean accepts(DType dtype) { - return false; - } - @Override public Array decode(DecodeContext ctx) { // Generic zero-length stand-in: scan chunk row count comes from the diff --git a/reader/src/test/java/io/github/dfa1/vortex/reader/decode/AlpEncodingDecoderTest.java b/reader/src/test/java/io/github/dfa1/vortex/reader/decode/AlpEncodingDecoderTest.java index f2778af25..316366733 100644 --- a/reader/src/test/java/io/github/dfa1/vortex/reader/decode/AlpEncodingDecoderTest.java +++ b/reader/src/test/java/io/github/dfa1/vortex/reader/decode/AlpEncodingDecoderTest.java @@ -54,15 +54,6 @@ private static MemorySegment leDoubles(double... vs) { return MemorySegment.ofArray(b); } - @Test - void accepts_floatsTrue_otherFalse() { - // Given / When / Then - assertThat(SUT.accepts(F64)).isTrue(); - assertThat(SUT.accepts(F32)).isTrue(); - assertThat(SUT.accepts(new DType.Primitive(PType.I64, false))).isFalse(); - assertThat(SUT.accepts(new DType.Utf8(false))).isFalse(); - } - @Test void decode_nonPrimitiveDtype_throws() { // Given a Utf8 dtype on an ALP node diff --git a/reader/src/test/java/io/github/dfa1/vortex/reader/decode/DecimalEncodingDecoderTest.java b/reader/src/test/java/io/github/dfa1/vortex/reader/decode/DecimalEncodingDecoderTest.java index 5a272486c..f077a4b47 100644 --- a/reader/src/test/java/io/github/dfa1/vortex/reader/decode/DecimalEncodingDecoderTest.java +++ b/reader/src/test/java/io/github/dfa1/vortex/reader/decode/DecimalEncodingDecoderTest.java @@ -1,7 +1,6 @@ package io.github.dfa1.vortex.reader.decode; import io.github.dfa1.vortex.core.DType; -import io.github.dfa1.vortex.core.PType; import io.github.dfa1.vortex.core.VortexException; import io.github.dfa1.vortex.encoding.EncodingId; import io.github.dfa1.vortex.reader.ReadRegistry; @@ -39,13 +38,6 @@ private static Array decode(ByteBuffer meta, int rowCount, int bufferBytes) { return SUT.decode(ctx); } - @Test - void acceptsDecimalRejectsOthers() { - // Given / When / Then - assertThat(SUT.accepts(DECIMAL)).isTrue(); - assertThat(SUT.accepts(new DType.Primitive(PType.I32, false))).isFalse(); - } - @Test void encodingId() { assertThat(SUT.encodingId()).isEqualTo(EncodingId.VORTEX_DECIMAL); diff --git a/reader/src/test/java/io/github/dfa1/vortex/reader/decode/DictEncodingDecoderTest.java b/reader/src/test/java/io/github/dfa1/vortex/reader/decode/DictEncodingDecoderTest.java index 2dd7b8ea5..832565060 100644 --- a/reader/src/test/java/io/github/dfa1/vortex/reader/decode/DictEncodingDecoderTest.java +++ b/reader/src/test/java/io/github/dfa1/vortex/reader/decode/DictEncodingDecoderTest.java @@ -39,11 +39,9 @@ class DictEncodingDecoderTest { SUT, new PrimitiveEncodingDecoder(), new VarBinEncodingDecoder()); @Test - void acceptsPrimitiveAndUtf8_rejectsOthers() { + void encodingId_isVortexDict() { // Given / When / Then - assertThat(SUT.accepts(new DType.Primitive(PType.I32, false))).isTrue(); - assertThat(SUT.accepts(new DType.Utf8(false))).isTrue(); - assertThat(SUT.accepts(new DType.Bool(false))).isFalse(); + assertThat(SUT.encodingId()).isEqualTo(EncodingId.VORTEX_DICT); } @Nested diff --git a/reader/src/test/java/io/github/dfa1/vortex/reader/decode/VarBinViewEncodingDecoderTest.java b/reader/src/test/java/io/github/dfa1/vortex/reader/decode/VarBinViewEncodingDecoderTest.java index 941ad9319..41ffb80d1 100644 --- a/reader/src/test/java/io/github/dfa1/vortex/reader/decode/VarBinViewEncodingDecoderTest.java +++ b/reader/src/test/java/io/github/dfa1/vortex/reader/decode/VarBinViewEncodingDecoderTest.java @@ -25,14 +25,6 @@ void encodingId_isVortexVarBinView() { assertThat(SUT.encodingId()).isEqualTo(EncodingId.VORTEX_VARBINVIEW); } - @Test - void accepts_utf8AndBinary_true_otherFalse() { - // Given / When / Then - assertThat(SUT.accepts(new DType.Utf8(false))).isTrue(); - assertThat(SUT.accepts(new DType.Binary(false))).isTrue(); - assertThat(SUT.accepts(new DType.Primitive(io.github.dfa1.vortex.core.PType.I32, false))).isFalse(); - } - @Test void decode_binaryDtype_inlineViews() { // Given two short (inline) values under a Binary dtype — exercises the diff --git a/reader/src/test/java/io/github/dfa1/vortex/reader/decode/ZigZagEncodingDecoderTest.java b/reader/src/test/java/io/github/dfa1/vortex/reader/decode/ZigZagEncodingDecoderTest.java index 78730eab8..367f98d5c 100644 --- a/reader/src/test/java/io/github/dfa1/vortex/reader/decode/ZigZagEncodingDecoderTest.java +++ b/reader/src/test/java/io/github/dfa1/vortex/reader/decode/ZigZagEncodingDecoderTest.java @@ -12,8 +12,6 @@ import io.github.dfa1.vortex.reader.array.LongArray; import io.github.dfa1.vortex.reader.array.ShortArray; import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.EnumSource; import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; @@ -75,26 +73,6 @@ void encodingId_isZigzag() { assertThat(SUT.encodingId()).isEqualTo(EncodingId.VORTEX_ZIGZAG); } - @ParameterizedTest - @EnumSource(value = PType.class, names = {"I8", "I16", "I32", "I64"}) - void accepts_signedIntegers(PType ptype) { - // Given / When / Then - assertThat(SUT.accepts(new DType.Primitive(ptype, false))).isTrue(); - } - - @ParameterizedTest - @EnumSource(value = PType.class, names = {"U8", "U16", "U32", "U64", "F16", "F32", "F64"}) - void accepts_rejectsNonSigned(PType ptype) { - // Given / When / Then - assertThat(SUT.accepts(new DType.Primitive(ptype, false))).isFalse(); - } - - @Test - void accepts_rejectsNonPrimitive() { - // Given / When / Then - assertThat(SUT.accepts(new DType.Bool(false))).isFalse(); - } - @Test void decode_i8_roundTrip() { // Given diff --git a/writer/src/test/java/io/github/dfa1/vortex/writer/encode/AlpRdEncodingEncoderTest.java b/writer/src/test/java/io/github/dfa1/vortex/writer/encode/AlpRdEncodingEncoderTest.java index 23faff541..f66581991 100644 --- a/writer/src/test/java/io/github/dfa1/vortex/writer/encode/AlpRdEncodingEncoderTest.java +++ b/writer/src/test/java/io/github/dfa1/vortex/writer/encode/AlpRdEncodingEncoderTest.java @@ -132,14 +132,10 @@ void encodeDecode_randomF32_isBitExact(int n) { void accepts_floatPtypesOnly() { // Given / When / Then — only F32/F64 are encodable; integers and non-primitives are rejected var encoder = new AlpRdEncodingEncoder(); - var decoder = new AlpRdEncodingDecoder(); assertThat(encoder.accepts(DTypes.F32)).isTrue(); assertThat(encoder.accepts(DTypes.F64)).isTrue(); - assertThat(decoder.accepts(DTypes.F32)).isTrue(); - assertThat(decoder.accepts(DTypes.F64)).isTrue(); assertThat(encoder.accepts(DTypes.I64)).isFalse(); assertThat(encoder.accepts(DTypes.UTF8)).isFalse(); - assertThat(decoder.accepts(DTypes.I32)).isFalse(); } private static Stream sizes() { diff --git a/writer/src/test/java/io/github/dfa1/vortex/writer/encode/DeltaEncodingEncoderTest.java b/writer/src/test/java/io/github/dfa1/vortex/writer/encode/DeltaEncodingEncoderTest.java index eed4307fa..a5862c148 100644 --- a/writer/src/test/java/io/github/dfa1/vortex/writer/encode/DeltaEncodingEncoderTest.java +++ b/writer/src/test/java/io/github/dfa1/vortex/writer/encode/DeltaEncodingEncoderTest.java @@ -164,16 +164,13 @@ void encodeDecode_randomAcrossPtypesAndSizes_isLossless(String name, DType dtype void accepts_everyIntegerPtype_isTrue(String ptype) { // Given / When / Then assertThat(ENCODER.accepts(new DType.Primitive(PType.valueOf(ptype), false))).isTrue(); - assertThat(DECODER.accepts(new DType.Primitive(PType.valueOf(ptype), false))).isTrue(); } @Test void accepts_nonIntegerOrNonPrimitive_isFalse() { - // Given / When / Then — floats and non-primitive dtypes are rejected by both sides + // Given / When / Then — floats and non-primitive dtypes are rejected assertThat(ENCODER.accepts(DTypes.F64)).isFalse(); assertThat(ENCODER.accepts(DTypes.UTF8)).isFalse(); - assertThat(DECODER.accepts(DTypes.F32)).isFalse(); - assertThat(DECODER.accepts(DTypes.BOOL)).isFalse(); } @Test