findSubclasses abstract method
Finds all direct subclasses of the specified class with caching.
Parameters:
parentClass
: The parent class to find subclasses for
Returns:
- List of direct subclasses (not transitive)
- Empty list if no subclasses exist
- Cached results for subsequent calls
Caching Strategy
- Results are cached by parent class qualified name
- Cache is invalidated when new classes are loaded
- Supports incremental updates for dynamic loading
Example
final animalClass = await loader.loadClass<Animal>('com.example.Animal');
final subclasses = await loader.findSubclasses(animalClass);
// Returns: [Dog, Cat, Bird] (direct subclasses only)
Performance Notes
- First call performs full hierarchy scan
- Subsequent calls return cached O(1) results
- Cache updates are incremental for new class additions
Implementation
List<Class> findSubclasses(Class parentClass);