awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Java reflection library

Ranking updated Jul 28, 2026

For reflection, the strongest matches are qlibs/reflect (This repository is a C++20 static reflection library that), austinbrunkhorst/cpp-reflection (This C++ reflection parser and runtime skeleton provides type) and fatih/structs (This library provides runtime type inspection, metadata extraction, and). schmittjoh/metadata and charlinfeng/reflect round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Explore the best Java reflection libraries ranked by stars and activity. Compare top open-source tools and pick the right one for your project.

Java reflection library

Find the best repos with AI.We'll search the best matching repositories with AI.
  • qlibs/reflectqlibs avatar

    qlibs/reflect

    518View on GitHub↗

    C++20 Static Reflection library

    This repository is a C++20 static reflection library that provides runtime type inspection and metadata discovery features, fitting the requested category well despite its compile-time foundation.

    C++Reflection
    View on GitHub↗518
  • austinbrunkhorst/cpp-reflectionAustinBrunkhorst avatar

    AustinBrunkhorst/CPP-Reflection

    703View on GitHub↗

    C++ Reflection Parser / Runtime Skeleton

    This C++ reflection parser and runtime skeleton provides type inspection and metadata discovery features, fitting the search for a reflection utility despite its narrow scope.

    C++Reflection
    View on GitHub↗703
  • fatih/structsfatih avatar

    fatih/structs

    3,926View on GitHub↗

    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

    This library provides runtime type inspection, metadata extraction, and struct manipulation for Go, serving as a specialised utility for examining object fields and tags despite lacking dynamic method invocation.

    GoGo Struct Reflection UtilitiesStruct-to-Map ConvertersData Serialization Formats
    View on GitHub↗3,926
  • schmittjoh/metadataschmittjoh avatar

    schmittjoh/metadata

    1,821View on GitHub↗

    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

    This repository provides a dedicated metadata management library for PHP that handles annotation parsing and structure inspection, which aligns well with the search for a runtime reflection tool.

    PHPMulti-Source Metadata LoadingAnnotation and File Configuration LoadingAnnotation and File Parsing Drivers
    View on GitHub↗1,821
  • charlinfeng/reflectCharlinFeng avatar

    CharlinFeng/Reflect

    305View on GitHub↗

    Reflection, Dict2Model, Model2Dict, Archive

    This Swift library provides runtime type inspection and dictionary conversion utilities, fulfilling the need for metadata discovery and type reflection in an environment with limited native capabilities.

    SwiftRuntime Reflection
    View on GitHub↗305
  • stevinz/reflectstevinz avatar

    stevinz/reflect

    5View on GitHub↗

    Small, flexible, single-header library for aggregate (struct / class) runtime reflection and meta data using C++11 features. Minimal STL usage, no other dependencies.

    This C++ library provides lightweight runtime reflection and metadata parsing for aggregate types using C++11 features, fulfilling the core runtime type inspection requirement even though it lacks dynamic method invocation.

    C++Scripting and Reflection
    View on GitHub↗5
  • ronmamo/reflectionsronmamo avatar

    ronmamo/reflections

    4,765View on GitHub↗

    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

    Reflections is a Java classpath scanning and metadata indexing library that provides runtime type inspection and annotation discovery, though it focuses on scanning rather than general-purpose dynamic method invocation or code execution.

    JavaClasspath Metadata IndexingAnnotated Class DiscoveryBytecode Analysis
    View on GitHub↗4,765
  • mitchellh/mapstructuremitchellh avatar

    mitchellh/mapstructure

    8,033View on GitHub↗

    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

    This library provides reflection-based metadata discovery and struct field mapping for Go, letting you inspect and decode dynamic maps into typed structures at runtime.

    GoReflection-Based Map MappingDynamic Data MappingGeneric Map Transformations
    View on GitHub↗8,033
  • rbuckton/reflect-metadatarbuckton avatar

    rbuckton/reflect-metadata

    3,356View on GitHub↗

    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…

    This library provides runtime metadata reflection and annotation parsing for TypeScript decorators, serving as the standard utility for metadata discovery despite native specification changes.

    TypeScriptMetaprogramming
    View on GitHub↗3,356
  • facebookarchive/injectfacebookarchive avatar

    facebookarchive/inject

    1,408View on GitHub↗

    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

    Inject is a dependency injection framework for Go that relies on runtime reflection to inspect object structures and automate wiring, though its focus is strictly dependency resolution rather than general-purpose type inspection.

    GoDependency Injection ContainersDependency InjectionDependency Injection Frameworks
    View on GitHub↗1,408
  • roave/betterreflectionRoave avatar

    Roave/BetterReflection

    1,241View on GitHub↗

    :crystal_ball: Better Reflection is a reflection API that aims to improve and provide more features than PHP's built-in reflection API.

    Better Reflection is a powerful PHP reflection API that expands significantly on the language's native capabilities for runtime type inspection and code analysis, though it focuses on code structure rather than zero-allocation performance.

    PHPCode Analysis and Refactoring
    View on GitHub↗1,241
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
qlibs/reflect518C++—Sep 13, 2025
austinbrunkhorst/cpp-reflection703C++MITOct 28, 2019
fatih/structs3.9KGoMITOct 10, 2018
schmittjoh/metadata1.8KPHPMITNov 30, 2025
charlinfeng/reflect305SwiftMITJun 6, 2017
stevinz/reflect5C++MITFeb 7, 2023
ronmamo/reflections4.8KJavaWTFPLJun 17, 2024
mitchellh/mapstructure8KGoMITJun 25, 2024
rbuckton/reflect-metadata3.4KTypeScriptApache-2.0Mar 29, 2024
facebookarchive/inject1.4KGoMITJan 14, 2019

Related searches

  • Component inspection tools
  • Runtime abstraction layers
  • Code generation tools
  • Component library infrastructure
  • Reference architecture examples
  • a browser extension for enhancing web functionality
  • an open source framework for access control
  • UI framework bindings