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