How rephaeltas/winterfx works
WinterFX is an annotation-driven JavaFX desktop framework. An application starts through WinterApplication, discovers annotated beans and resources, and uses dependency injection to assemble controllers and services. The view workflow resolves a registered view, loads its FXML and controller, binds reactive state and buttons, then caches and displays the result. Separate capabilities include in-memory internal routing, image management, notifications, event dispatch, and method-interception pipelines. Connections for loading, scanning, caching, image access, and interception are supported by sampled source; some broader framework capabilities are documented but their wiring was not sampled.
Main entry points: StageManager.java Stage Manager · WinterApplication.java Application Startup · ScannerEngine.java Scanner Engine · FXMLService.java FXML Loader
Components 23
Startup And DI
- Application Startup
src/main/java/com/ossobo/winterfx/bootstrap/WinterApplication.java - Scanner Engine
src/main/java/com/ossobo/winterfx/scanner/ScannerEngine.java - Bean Discovery
src/main/java/com/ossobo/winterfx/scanner/BeanAnnotationScanner.java - Resource Discovery
src/main/java/com/ossobo/winterfx/scanner/ResourceAnnotationScanner.java - DI Container
src/main/java/com/ossobo/winterfx/di/DiContainer.java
Views And Resources
- Resource Module
src/main/java/com/ossobo/winterfx/resources/ResourceModule.java - Stage Manager
src/main/java/com/ossobo/winterfx/view/StageManager.java - FXML Loader
src/main/java/com/ossobo/winterfx/view/loader/FXMLService.java - Reactive View State
src/main/java/com/ossobo/winterfx/view/injection/ReactiveViewInjector.java - Button Binding
src/main/java/com/ossobo/winterfx/view/loader/RebindButtonsService.java - View Cache
src/main/java/com/ossobo/winterfx/cache/CacheManager.java
Routing And Events
- Route API
src/main/java/com/ossobo/winterfx/router/Rotas.java - API Dispatcher
src/main/java/com/ossobo/winterfx/router/processor/ApiDispatcher.java - Event Bus
src/main/java/com/ossobo/winterfx/event/EventBus.java
UI Services
- Image Manager
src/main/java/com/ossobo/winterfx/imagemanager/ImageManager.java - Image Cache
src/main/java/com/ossobo/winterfx/imagemanager/image/ImageCache.java - Notifications
src/main/java/com/ossobo/winterfx/notifications/NotificationManager.java - Alert Manager
src/main/java/com/ossobo/winterfx/view/alert/AlertManager.java
Interception
- Controller Proxy
src/main/java/com/ossobo/winterfx/intercept/ControllerProxyFactory.java - Pipeline Executor
src/main/java/com/ossobo/winterfx/runtime/pipeline/PipelineExecutor.java - Handler Registry
src/main/java/com/ossobo/winterfx/runtime/HandlerRegistry.java
Other components
- Application Developer
- JavaFX Runtime
Connections 20
- Application Developer → Application Startup: starts app
- Application Startup → Scanner Engine: scans packages
- Scanner Engine → Bean Discovery: discovers beans
- Scanner Engine → Resource Discovery: discovers resources
- Bean Discovery → DI Container: registers beans
- Resource Discovery → Resource Module: registers resources
- Application Startup → DI Container: initializes container
- JavaFX Runtime → Stage Manager: provides stage
- Stage Manager → Resource Module: resolves view
- Stage Manager → FXML Loader: loads view
- FXML Loader → DI Container: gets controller
- FXML Loader → Reactive View State: injects view state
- Stage Manager → View Cache: reads and writes
- Stage Manager → Button Binding: rebinds buttons
- Route API → API Dispatcher: dispatches routes
- Image Manager → Resource Module: resolves image
- Image Manager → Image Cache: reads and writes
- Notifications → Alert Manager: shows alerts
- Controller Proxy → Pipeline Executor: delegates calls
- Pipeline Executor → Handler Registry: runs phases