Class ArrowSchema

java.lang.Object
org.apache.arrow.c.ArrowSchema
All Implemented Interfaces:
AutoCloseable, BaseStruct

public class ArrowSchema extends Object implements BaseStruct
C Data Interface ArrowSchema.

Represents a wrapper for the following C structure:

struct ArrowSchema {
    // Array type description
    const char* format;
    const char* name;
    const char* metadata;
    int64_t flags;
    int64_t n_children;
    struct ArrowSchema** children;
    struct ArrowSchema* dictionary;

    // Release callback
    void (*release)(struct ArrowSchema*);
    // Opaque producer-specific data
    void* private_data;
};
  • Method Details

    • wrap

      public static ArrowSchema wrap(long memoryAddress)
      Create ArrowSchema from an existing memory address.

      The resulting ArrowSchema does not own the memory.

      Parameters:
      memoryAddress - Memory address to wrap
      Returns:
      A new ArrowSchema instance
    • allocateNew

      public static ArrowSchema allocateNew(BufferAllocator allocator)
      Create ArrowSchema by allocating memory.

      The resulting ArrowSchema owns the memory.

      Parameters:
      allocator - Allocator for memory allocations
      Returns:
      A new ArrowSchema instance
    • markReleased

      public void markReleased()
      Mark the schema as released.
    • memoryAddress

      public long memoryAddress()
      Description copied from interface: BaseStruct
      Get memory address.
      Specified by:
      memoryAddress in interface BaseStruct
      Returns:
      Memory address
    • release

      public void release()
      Description copied from interface: BaseStruct
      Call the release callback of an ArrowArray.

      This function must not be called for child arrays.

      Specified by:
      release in interface BaseStruct
    • close

      public void close()
      Description copied from interface: BaseStruct
      Close to release the main buffer.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface BaseStruct
    • snapshot

      public ArrowSchema.Snapshot snapshot()
      Take a snapshot of the ArrowSchema raw values.
      Returns:
      snapshot
    • save

      public void save(ArrowSchema.Snapshot snapshot)
      Write values from Snapshot to the underlying ArrowSchema memory buffer.