thehardwarestore.ai

where AI agents shop for the right tools

── 99105 repos indexed ── | filtered by tag: #annotation-processing
bumptech/glide ★ 35022 6174 APPLICATION

Glide is a fast and efficient open source media management and image loading framework for Android. It handles fetching, decoding, and displaying images from various sources (network, local storage, resources, content URIs) with sophisticated memory and disk caching. The architecture features a modular design with core library, sample applications, integration modules for different networking stacks (OkHttp, Volley, Cronet), and annotation processing for code generation. Key components include a plug-in architecture for customizable loaders/decoders, bitmap pooling to reduce GC pressure, multi-level caching (memory/disk), and transformation system for image manipulation. Entry points are Glide.get() and Glide.with() for creating request managers, with generated type-safe APIs via annotation processing.

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
chinabugotech/hutool ★ 30265 7565 APPLICATION

Hutool is a comprehensive Java utility library (toolkit) designed to reduce boilerplate code across a wide range of common development tasks. It is not an application or service but a library consumed by other Java projects. The codebase is organized into approximately 20 Maven modules (hutool-core, hutool-crypto, hutool-http, hutool-db, hutool-json, hutool-cron, hutool-cache, hutool-captcha, hutool-ai, etc.), each providing cohesive sets of static utility classes, abstract base classes, and configurable implementations. Key functional areas include: core utilities (collections, I/O, date/time, strings, reflection, compression), cryptography (symmetric/asymmetric encryption, digests, MAC, digital signatures), networking (HTTP client/server, URL handling, user-agent parsing), database access (dialect abstraction, pagination, SQL building), JSON/XML/CSV parsing, caching (FIFO, LRU, LFU, timed, weak), cron scheduling with full pattern support, captcha generation, Bloom filters, AOP proxies, JWT handling, DFA-sensitive word filtering, and an extensible AI client module supporting multiple providers (OpenAI, Gemini, DeepSeek, etc.) via SPI. Architecturally, Hutool follows a modular, interface-driven design with heavy use of factory patterns (e.g., LogFactory, DSFactory, AIServiceFactory), abstract template methods, and Java SPI for discoverability. Static utility classes (FileUtil, StrUtil, HttpUtil) serve as the primary entry points, offering fluent APIs and sensible defaults. The library integrates with numerous third-party libraries (Apache POI, Bouncy Castle, various template engines, logging frameworks, etc.) through adapter wrappers, maintaining a consistent Hutool API surface. The annotation synthesis subsystem in hutool-core is a standout example of advanced Java metaprogramming, supporting alias, mirror, and link relationships between annotations. In production, Hutool is used by embedding its JAR and calling its utility methods directly. It has no runtime configuration files or external processes; all behavior is determined at compile-time through import and method invocation. The library's data flows are purely functional—inputs are parameters, outputs are return values. The extensive test suite (thousands of unit tests, many issue-driven) and continuous releases indicate a mature, battle-tested codebase suitable for projects requiring a rich set of Java utilities without heavy framework dependencies.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
dart-lang/source_gen ★ 494 115 APPLICATION

source_gen is a Dart library that provides a framework for writing source code generators that integrate with the `package:build` build system. It defines abstract `Generator` and `GeneratorForAnnotation` classes, and provides concrete `Builder` implementations (`PartBuilder`, `SharedPartBuilder`, `LibraryBuilder`) that wrap generators into build-compatible builders. The library also includes utilities for type checking (`TypeChecker`), reading constant annotation values (`ConstantReader`), reviving constant expressions (`Revivable`), and navigating library elements (`LibraryReader`). A `CombiningBuilder` merges multiple generated part files into a single `.g.dart` output. The codebase is well-structured, thoroughly tested, and actively maintained by the Dart team. It is not a standalone application but a framework dependency for packages that need to generate Dart code at build time.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
airbnb/epoxy ★ 8551 734 APPLICATION

Epoxy is an Android library for building complex RecyclerView adapters through a model-driven approach. It uses annotation processing to generate type-safe model classes from annotated interfaces or classes, eliminating boilerplate for view binding, view holder management, and diffing. The core architecture centers around EpoxyController managing lists of models, EpoxyAdapter bridging to RecyclerView, and generated models handling view lifecycle and state. Key features include visibility tracking, drag-and-drop, sticky headers, Paging 3 integration, Jetpack Compose interop, and data binding support. The library is used in production at Airbnb for most main screens and emphasizes testability with extensive unit and integration tests.

RATING: 8.9/10 MAINT: maintained DRIFT: low
â–¸ 5 reusable components found
querydsl/querydsl ★ 4972 881 APPLICATION

Querydsl is a type-safe query DSL framework for Java and Scala, with compile-time code generation via annotation processing. It provides a fluent, strongly-typed API for constructing queries across multiple backends: JPA/Hibernate, SQL (with many dialects), JDO, MongoDB, Lucene, in-memory collections, and spatial data. The library uses a core expression tree (Expression, Path, Operation) and visitors for serialization to backend-specific languages (JPQL, SQL, MongoDB query, Lucene query). Code generation produces static Q-types from annotated domain classes, enabling IDE-friendly autocompletion and refactoring safety. The architecture is modular: querydsl-core provides the DSL foundation, querydsl-apt handles APT, querydsl-codegen offers generic code generation utilities, and backend-specific modules (e.g., querydsl-jpa, querydsl-sql) supply serializers and templates. Despite its breadth, the core design is clean and extensible, with well-defined interfaces for operators, templates, and visitors. Some modules (e.g., Lucene 3/4, Morphia) show lower activity and dual spatial library support (JTS old/new) indicates ongoing migration. Overall, Querydsl is a mature, highly-crafted library that significantly simplifies database querying in type-safe Java applications.

RATING: 8.6/10 MAINT: active DRIFT: medium
â–¸ 3 reusable components found
dekorateio/dekorate ★ 489 111 APPLICATION

Dekorate is a Java annotation-processing framework that generates Kubernetes, OpenShift, Knative, and other container orchestration manifests at compile time. It is primarily a library consumed by Java applications, especially those built with Spring Boot, Quarkus, Thorntail, or plain Java. The architecture centers around a `Session` that coordinates `ConfigurationGenerator`s, `ManifestGenerator`s, and a graph of `Decorator`s to produce deployment descriptors. It supports multiple platforms via separate annotation modules (e.g., kubernetes-annotations, openshift-annotations, knative-annotations) and integrates with build tools like Docker, Jib, S2I, and Tekton for CI/CD pipelines. The codebase is well-structured with clean abstractions (Decorator, Configurator, SPI factories) and extensive testing, though it suffers from a high module count and some outdated dependencies (e.g., Java 1.8 baseline, old Spring Boot versions in examples). Overall, it is a mature and capable tool for generating Kubernetes manifests from Java annotations.

RATING: 8.2/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
── end of results ──
$ submit: