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, the OutputFile write destination, managing shared resources (thread pool, decompressor pool), and the shared Validity null bitmap.
dev.hardwood.reader Public API Single-file and multi-file readers for row-oriented and column-oriented access.
dev.hardwood.writer Public API Parquet file writing: ParquetFileWriter with its columnar (ColumnWriter) and row-oriented (RowWriter) APIs, and WriterConfig.
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, RangeBacking (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.