swt23w23/src/main/asciidoc/models/design/catalog.puml

57 lines
1.3 KiB
Plaintext
Raw Normal View History

2023-11-02 06:33:27 +01:00
@startuml
skinparam linetype ortho
skinparam groupInheritance 2
package Spring {
interface Model
class Sort
}
package Salespoint {
interface Catalog << T > Product >>
interface DataInitializer
interface Inventory << T > InventoryItem >>
class Product
' + has price,name and categories : Iterable'
class Quantity
}
package catering.catalog {
interface CateringCatalog {
+ DEFAULT_SORT : Sort
+ findByType(type, sort : Sort) : Iterable
+ findByEventType(type) : Iterable
}
class CatalogController {
+ CatalogController()
+ eventcateringCatalog(model : Model) : String
+ partyserviceCatalog(model : Model) : String
+ mobilebreakfast(model : Model) : String
+ rentacookCatalog(model : Model) : String
}
class Consumable {
wholesalePrice
retailPrice
promotionPrice [0..1]
}
class Rentable {
pricePerHour
}
}
CateringCatalog --o "-catalog" CatalogController
'- for listing entries to customers'
Inventory "- inventory" <-- CatalogController
'- for checking availabilty'
Model "use" <.. CatalogController
'- for generating html for a view'
Catalog <.. "<bind> <T->Product" CateringCatalog
Product <|-- Consumable
Product <|-- Rentable
@enduml