%%{init: {"theme": "default"}%%
classDiagram
direction LR
AbstractController ..> RouterRedirect : implements
class RouterRedirect {
<<interface>>
+ redirect(String, Object[]) void
+ redirect(String) void
}
class AbstractController {
<<abstract>>
+ getRouter() Router
+ redirect(Router, Object[]) void
}
class Controller {
<<annotation>>
at() Route
}
class ViewController {
}
The user interface views diagram is demonstrating the different views available in the application and their relationships. The diagram shows the names of the views and which views they inherit from.
app.router:
View: An annotation class that defines the basic properties of a view, including its name, whether or not it is the default view, and whether or not it is cacheable.ViewPanel: An abstract class that defines the behavior of all application views.ui.views — all the defined views for the application:
LoginView: A concrete class that inherits from ViewPanel and is responsible for rendering the login view.PlayersView: A concrete class that inherits from ViewPanel and is responsible for rendering the player selection view.EditPlayerView: A concrete class that inherits from ViewPanel and is responsible for rendering the player editing view.MapView: A concrete class that inherits from ViewPanel and is responsible for rendering the game map view.PauseView: A concrete class that inherits from ViewPanel and is responsible for rendering the pause menu view.%%{init: {"theme": "default"}%%
classDiagram
direction LR
View --> LoginView : annotates
View --> PlayersView : annotates
View --> EditPlayerView : annotates
View --> MapView : annotates
View --> PauseView : annotates
ViewPanel ..> RouterRedirect : implements
LoginView --|> ViewPanel : inherits
PlayersView --|> ViewPanel : inherits
EditPlayerView --|> ViewPanel : inherits
MapView --|> ViewPanel : inherits
PauseView --|> ViewPanel : inherits
ViewPanel --|> JPanel : inherits
class JPanel
class View {
<<annotation>>
+ name() String
+ isDefault() boolean
+ cacheable() boolean
}
class LoginView
class PlayersView
class EditPlayerView
class MapView
class PauseView
class ViewPanel {
- boolean cacheable
- String name
- Router router
- boolean isDefault
+ redirect(String) void
+ redirect(String, Object... args) void
String name
boolean isDefault
boolean cacheable
Router router
}