RuntimeMetadataProvider class abstract interface

A contract for providing access to reflection metadata in JetLeaf.

This interface defines common methods for accessing reflected types, libraries, packages, and assets. It serves as a base for both runtime registry and provider implementations.

Implementations can be used for:

  • Serialization
  • Dependency injection
  • Dynamic routing
  • Code generation

{@template reflection_metadata_provider_example} Example usage:

final provider = SomeReflectionMetadataProvider();

// Get all reflected classes
final classes = provider.getAllClasses();

// Get metadata for specific type
final stringType = provider.getReflectedType(String);

// Get library information
final dartCore = provider.getReflectedLibrary('dart:core');

{@endtemplate}

Implementers

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

getAllAssets() List<Asset>
Returns all assets available in the reflection context.
getAllLibraries() List<LibraryDeclaration>
Returns all reflected libraries available in the reflection context.
getAllPackages() List<Package>
Returns all packages available in the reflection context.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited