2023-11-02 06:33:27 +01:00
|
|
|
@startuml
|
|
|
|
skinparam linetype ortho
|
|
|
|
skinparam groupInheritance 2
|
|
|
|
|
|
|
|
package Spring {
|
2023-11-05 16:36:32 +01:00
|
|
|
class Assert
|
|
|
|
class Errors
|
|
|
|
interface Model
|
2023-11-02 06:33:27 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
package Salespoint {
|
2023-11-05 16:36:32 +01:00
|
|
|
interface DataInitializer
|
|
|
|
class Product
|
|
|
|
class Quantity
|
|
|
|
interface UniqueInventory<T extends UniqueInventoryItem>
|
|
|
|
class UniqueInventoryItem
|
2023-11-02 06:33:27 +01:00
|
|
|
}
|
|
|
|
|
2023-11-05 16:36:32 +01:00
|
|
|
package catering {
|
|
|
|
package catalog {
|
2023-11-12 13:48:25 +01:00
|
|
|
interface ConsumableCatalog
|
|
|
|
interface RentableCatalog
|
2023-11-05 16:36:32 +01:00
|
|
|
}
|
2023-11-02 06:33:27 +01:00
|
|
|
|
2023-11-05 16:36:32 +01:00
|
|
|
package inventory {
|
2023-11-02 06:33:27 +01:00
|
|
|
class InventoryController {
|
2023-11-05 16:36:32 +01:00
|
|
|
+ InventoryController(inventory : UniqueInventory)
|
|
|
|
+ list(model : Model) : String
|
|
|
|
+ edit(model : Model, pid : Product) : String
|
|
|
|
+ edit(form : InventoryMutateForm, result : Errors, pid : Product) : String
|
|
|
|
+ add() : String
|
|
|
|
+ add(form : InventoryMutateForm, result : Errors) : String
|
|
|
|
+ delete(pid : Product) : String
|
2023-11-02 06:33:27 +01:00
|
|
|
}
|
2023-11-12 13:48:25 +01:00
|
|
|
InventoryController --> "1" catering.catalog.ConsumableCatalog : "-consumableCatalog"
|
|
|
|
InventoryController --> "1" catering.catalog.RentableCatalog : "-rentableCatalog"
|
2023-11-05 16:36:32 +01:00
|
|
|
InventoryController ..> InventoryMutateForm
|
|
|
|
InventoryController .u.> Salespoint.Product
|
|
|
|
InventoryController -u-> "1" Salespoint.UniqueInventory : "-inventory"
|
|
|
|
InventoryController .u.> Salespoint.UniqueInventoryItem
|
|
|
|
InventoryController .u.> Spring.Assert
|
|
|
|
InventoryController .u.> Spring.Errors
|
|
|
|
InventoryController .u.> Spring.Model
|
2023-11-02 16:00:10 +01:00
|
|
|
|
2023-11-02 06:33:27 +01:00
|
|
|
class InventoryInitializer {
|
2023-11-05 16:36:32 +01:00
|
|
|
+ InventoryInitializer(inventory : UniqueInventory, catalog : CateringCatalog)
|
|
|
|
+ initialize() : void
|
2023-11-02 06:33:27 +01:00
|
|
|
}
|
2023-11-12 13:48:25 +01:00
|
|
|
InventoryInitializer --> "1" catering.catalog.ConsumableCatalog : "-consumableCatalog"
|
|
|
|
InventoryInitializer --> "1" catering.catalog.RentableCatalog : "-rentableCatalog"
|
2023-11-05 16:36:32 +01:00
|
|
|
InventoryInitializer .u.|> Salespoint.DataInitializer
|
|
|
|
InventoryInitializer .u.> Salespoint.Quantity
|
|
|
|
InventoryInitializer -u-> "1" Salespoint.UniqueInventory : "-inventory"
|
|
|
|
InventoryInitializer .u.> Salespoint.UniqueInventoryItem
|
|
|
|
InventoryInitializer .u.> Spring.Assert
|
|
|
|
}
|
2023-11-02 06:33:27 +01:00
|
|
|
}
|
2023-11-02 20:03:49 +01:00
|
|
|
@enduml
|