mirror of
https://github.com/st-tu-dresden-praktikum/swt23w23
synced 2024-07-19 21:04:36 +02:00
Update catalog.puml
This commit is contained in:
parent
40f594ab66
commit
9ae84d47ee
|
@ -8,44 +8,68 @@ package Spring {
|
|||
}
|
||||
|
||||
package Salespoint {
|
||||
interface Catalog << T > Product >>
|
||||
'https://st.inf.tu-dresden.de/SalesPoint/api//org/salespointframework/catalog/Catalog.html'
|
||||
interface Catalog << T > Product >> {
|
||||
findByAnyCategory(categories : String) : Streamable<Product>
|
||||
findByAllCategories(categories : String) : Streamable<Product>
|
||||
|
||||
}
|
||||
interface DataInitializer
|
||||
interface Inventory << T > InventoryItem >>
|
||||
class Product
|
||||
class Quantity
|
||||
class Product {
|
||||
+ Product(name : String, price : javax.money.MonetaryAmount, [Metric : metric])
|
||||
+ getID() : Product.Identifier
|
||||
'+ addCategory(category : String) : boolean' #TODO: for class Inventory
|
||||
'+ removeCategory(category : String) : boolean' #TODO: for class Inventory
|
||||
'+ supports(quantity : Quantity) : boolean' #TODO: for class Cart
|
||||
+ getCategories() : Streamable<String>
|
||||
+ getName() : String
|
||||
+ getPrice() : @NonNull javax.money.MonetaryAmount
|
||||
|
||||
}
|
||||
class Quantity {
|
||||
+ getAmount() : @NotNull BigDecimal
|
||||
}
|
||||
}
|
||||
|
||||
package catering.catalog {
|
||||
interface CateringCatalog {
|
||||
+ DEFAULT_SORT : Sort
|
||||
+ findByType(type, sort : Sort) : Iterable
|
||||
+ findByEventType(type) : Iterable
|
||||
}
|
||||
CateringCatalog --o CatalogController : "-catalog"
|
||||
CateringCatalog ..> Catalog : "<bind> <T->Product"
|
||||
|
||||
class CatalogController {
|
||||
+ CatalogController()
|
||||
+ eventcateringCatalog(model : Model) : String
|
||||
+ partyserviceCatalog(model : Model) : String
|
||||
+ mobilebreakfast(model : Model) : String
|
||||
+ rentacookCatalog(model : Model) : String
|
||||
+ CatalogByEventategory(model : Model, form : Form) : String
|
||||
}
|
||||
CatalogController --> Inventory : "- inventory"
|
||||
CatalogController ..> Model : "use"
|
||||
CatalogController .> CatalogForm : "use"
|
||||
|
||||
class CatalogForm {
|
||||
- query
|
||||
+ getQuery() : String
|
||||
}
|
||||
|
||||
class Consumable {
|
||||
wholesalePrice
|
||||
retailPrice
|
||||
promotionPrice [0..1]
|
||||
- wholesalePrice : javax.money.MonetaryAmount
|
||||
- retailPrice : javax.money.MonetaryAmount
|
||||
- promotionPrice : javax.money.MonetaryAmount
|
||||
+ getWholesalePrice() : javax.money.MonetaryAmount
|
||||
+ getPrice() : javax.money.MonetaryAmount
|
||||
}
|
||||
Consumable --|> Product
|
||||
|
||||
class Rentable {
|
||||
pricePerHour
|
||||
- pricePerHour : javax.money.MonetaryAmount
|
||||
- Events : Streamable<Event>
|
||||
+ getPrice() : javax.money.MonetaryAmount
|
||||
|
||||
}
|
||||
Rentable --|> Product
|
||||
}
|
||||
|
||||
'#TODO: to determine which Products of a Category to offer I need to retrieve information about availability of e.g. Cooks and ServicePersonel from the Users or Rentables from the Inventory'
|
||||
|
||||
@enduml
|
BIN
src/main/asciidoc/models/design/catalog.svg
(Stored with Git LFS)
BIN
src/main/asciidoc/models/design/catalog.svg
(Stored with Git LFS)
Binary file not shown.
Loading…
Reference in a new issue