# Java reflection library

> AI-ranked search results for `reflection` on awesome-repositories.com — ordered by an LLM for relevance, best match first. 117 total matches; showing the top 12.

Explore on the web: https://awesome-repositories.com/q/reflection

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [this search on awesome-repositories.com](https://awesome-repositories.com/q/reflection).**

## Results

- [qlibs/reflect](https://awesome-repositories.com/repository/qlibs-reflect.md) (518 ⭐) — C++20 Static Reflection library
- [austinbrunkhorst/cpp-reflection](https://awesome-repositories.com/repository/austinbrunkhorst-cpp-reflection.md) (703 ⭐) — C++ Reflection Parser / Runtime Skeleton
- [fatih/structs](https://awesome-repositories.com/repository/fatih-structs.md) (3,926 ⭐) — Structs is a reflection utility and type inspection framework for Go. It provides tools for inspecting, converting, and validating data structures by extracting field names, tags, and values from Go objects.

The library specializes in transforming Go structs into generic maps or slices for serialization and data manipulation. It utilizes tag-driven mapping to determine custom keys and exclusion rules during these transformations.

The project covers broader capabilities including metadata extraction, type validation to verify if variables are structs or pointers, and initialization verificati
- [schmittjoh/metadata](https://awesome-repositories.com/repository/schmittjoh-metadata.md) (1,821 ⭐) — Metadata is a PHP library for loading and managing class, method, and property metadata from inline annotations, YAML, XML, and PHP configuration files. It acts as an object-relational mapping support tool, helping persistence layers and serializers inspect PHP object structures through unified metadata drivers.

The library parses configuration data using specialized drivers to populate internal metadata structures, abstracting disparate data sources into a single consistent interface for inspecting classes and properties. It supports chain-based driver fallback, allowing multiple metadata lo
- [charlinfeng/reflect](https://awesome-repositories.com/repository/charlinfeng-reflect.md) (305 ⭐) — Reflection, Dict2Model, Model2Dict, Archive
- [stevinz/reflect](https://awesome-repositories.com/repository/stevinz-reflect.md) (5 ⭐) — Small, flexible, single-header library for aggregate (struct / class) runtime reflection and meta data using C++11 features. Minimal STL usage, no other dependencies.
- [ronmamo/reflections](https://awesome-repositories.com/repository/ronmamo-reflections.md) (4,765 ⭐) — Reflections is a Java classpath scanning library and metadata indexer designed to locate classes, methods, and resources at runtime. It functions as a tool for annotation discovery and type hierarchy analysis, allowing the system to identify elements marked with specific annotations or to resolve super-types and subtypes within the Java virtual machine.

The project distinguishes itself through metadata serialization, providing mechanisms to save the scanned index to persistent files or source code. This capability reduces application startup overhead by eliminating the need for repeated, expe
- [mitchellh/mapstructure](https://awesome-repositories.com/repository/mitchellh-mapstructure.md) (8,033 ⭐) — mapstructure is a reflection-based library for the bidirectional encoding and decoding of generic map data into native typed Go structures. It functions as a tool for transforming loosely typed map values into specific structs and encoding those structs back into maps.

The library utilizes Go reflection to map generic data keys to struct fields during runtime. It supports the transformation of untyped data from dynamic sources or configuration files into type-safe native structures.

The mapping process includes recursive traversal of nested maps and slices, as well as the use of struct tags
- [rbuckton/reflect-metadata](https://awesome-repositories.com/repository/rbuckton-reflect-metadata.md) (3,356 ⭐) — NOTE: Now that both Decorators and Decorator Metadata have achieved Stage 3 within TC39, the API proposed below is no longer being considered for standardization. However, this package will continue to support projects that leverage TypeScript's legacy --experimentalDecorators option as some…
- [facebookarchive/inject](https://awesome-repositories.com/repository/facebookarchive-inject.md) (1,408 ⭐) — Inject is a dependency injection framework for Go that automates the assembly of complex object graphs. By leveraging runtime reflection, the library dynamically inspects object structures to resolve and populate required dependencies, decoupling component initialization from business logic.

The framework manages object lifecycles through both singleton and factory-based provisioning. It maintains a central registry to share singletons across an application for consistent state, while also supporting the creation of unique, private instances to isolate state between different components.

To
- [roave/betterreflection](https://awesome-repositories.com/repository/roave-betterreflection.md) (1,241 ⭐) — :crystal_ball: Better Reflection is a reflection API that aims to improve and provide more features than PHP's built-in reflection API.
- [aplus-framework/cli](https://awesome-repositories.com/repository/aplus-framework-cli.md) (231 ⭐) — This project is a PHP framework designed for building interactive command-line applications and automation tools. It provides a structured environment for developers to construct console interfaces that handle user input and terminal output, facilitating the management of system-level operations and repetitive development tasks.

The framework utilizes a command-pattern dispatching system that maps terminal arguments to executable classes, supported by a dependency-injection container to manage service lifecycles. It incorporates reflective metadata discovery to automatically extract command d
