Skip to content

Package Structure

Hardwood is organized into public API packages and internal implementation packages. Application code should import only from the public packages; dev.hardwood.internal.* and its subpackages are implementation details and may change without notice.

Package Visibility Purpose
dev.hardwood Public API Entry point for creating readers and managing shared resources (thread pool, decompressor pool).
dev.hardwood.reader Public API Single-file and multi-file readers for row-oriented and column-oriented access.
dev.hardwood.metadata Public API Parquet file metadata: row groups, column chunks, physical/logical types, and compression codecs.
dev.hardwood.schema Public API Schema representation: file schema, column schemas, and column projection.
dev.hardwood.row Public API Value types for nested data access: structs, lists, and maps.
dev.hardwood.avro Public API Avro GenericRecord support: schema conversion and row materialization (hardwood-avro module).
dev.hardwood.s3 Public API S3 object storage support: S3Source, S3InputFile, S3Credentials, S3CredentialsProvider (hardwood-s3 module, zero external dependencies).
dev.hardwood.aws.auth Public API Bridges the AWS SDK credential chain to Hardwood's S3CredentialsProvider (hardwood-aws-auth module, optional).
dev.hardwood.jfr Public API JFR event types emitted during file reading, decoding, and pipeline operations.
dev.hardwood.internal.* Internal Implementation details — not part of the public API and may change without notice.