Class Variant

java.lang.Object
org.apache.arrow.variant.Variant

public class Variant extends Object
Wrapper around parquet-variant's Variant implementation.

This wrapper exists to isolate the parquet-variant dependency from Arrow's public API, allowing the vector module to expose variant functionality without requiring users to depend on parquet-variant directly. It also ensures that nested variant values (from arrays and objects) are consistently wrapped.

  • Constructor Details

    • Variant

      public Variant(byte[] metadata, byte[] value)
      Creates a Variant from raw metadata and value byte arrays.
    • Variant

      public Variant(ArrowBuf metadataBuffer, int metadataStart, int metadataEnd, ArrowBuf valueBuffer, int valueStart, int valueEnd)
      Creates a Variant by copying data from ArrowBuf instances.
    • Variant

      public Variant(NullableVariantHolder holder)
      Constructs a Variant from a NullableVariantHolder.
  • Method Details

    • getValueBuffer

      public ByteBuffer getValueBuffer()
    • getMetadataBuffer

      public ByteBuffer getMetadataBuffer()
    • getBoolean

      public boolean getBoolean()
    • getByte

      public byte getByte()
    • getShort

      public short getShort()
    • getInt

      public int getInt()
    • getLong

      public long getLong()
    • getDouble

      public double getDouble()
    • getDecimal

      public BigDecimal getDecimal()
    • getFloat

      public float getFloat()
    • getBinary

      public ByteBuffer getBinary()
    • getUUID

      public UUID getUUID()
    • getString

      public String getString()
    • getType

      public Variant.Type getType()
    • numObjectElements

      public int numObjectElements()
    • getFieldByKey

      public Variant getFieldByKey(String key)
    • getFieldAtIndex

      public Variant.ObjectField getFieldAtIndex(int idx)
    • numArrayElements

      public int numArrayElements()
    • getElementAtIndex

      public Variant getElementAtIndex(int index)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object