swt23w23/src/main/asciidoc/models/design/orderCatalog.puml
Simon Bruder bac025fd0a
Make project REUSE compliant
This finally makes the licensing under AGPL-3.0-or-later explicit after
I got the okay from the kickstart source owners.

This also checks the REUSE compliance in a pre commit hook, and
therefore also in CI.
2023-12-11 17:59:14 +01:00

67 lines
2.2 KiB
Plaintext

' SPDX-License-Identifier: AGPL-3.0-or-later
' SPDX-FileCopyrightText: 2023 swt23w23
@startuml
skinparam linetype ortho
skinparam groupInheritance 2
package Spring {
interface Model
}
package Salespoint {
class Cash
class Quantity
class UserAccount
class Product
}
package catering.order {
enum EventType
}
package catering.orderCatalog {
class OrderCatalogController {
+ OrderCatalogController()
+ catalog(model : Model) : String
+ configureCatalog(model : Model) : String
+ catalogAdd(eventType : OrderCatalogEntry.EventType, minimumTimePeriod : int, totalCost : int, model : Model) : String
+ removeEntry(catalogEntryID : int) : String
+ addProduct(name : String, amount : int, cost : double) : String
+ removeProduct(id : String, model : Model) : String
+ addTime(minimumTimePeriod : int, eventType : OrderCatalogEntry.EventType, products : Collection<Salespoint.Product>, model : Model) : String
+ chooseEvent(events : String) : String
}
class OrderCatalogEntry {
+ OrderCatalogEntry()
+ getId() : int
+ getEventType() : EventType
+ getProducts() : Collection<Salespoint.Product>
+ getMinimumTimePeriod() : int
+ getTotalCost() : int
+ setEventType(eventType : EventType) : void
+ setMinimumTimePeriod(timePeriod : int) : void
+ setTotalCost(totalCost : int) : void
+ addProduct(name : String, count : Integer) : void
}
class OrderCatalogEntryRepository {
+ OrderCatalogEntryRepository()
+ addCatalogEntry(catalogEntry : OrderCatalogEntry) : boolean
+ removeCatalogEntry(catalogEntryID : int) : boolean
+ getCatalogEntries() : Set<OrderCatalogEntries>
}
}
OrderCatalogEntryRepository o---> OrderCatalogEntry
OrderCatalogController ...> OrderCatalogEntryRepository
OrderCatalogEntryRepository --|> Spring.CrudRepository
OrderCatalogController ...> Salespoint.Product
OrderCatalogController ..> Spring.Model
OrderCatalogController ...> Salespoint.Cash
OrderCatalogController ...> Salespoint.Quantity
OrderCatalogController ...> Salespoint.UserAccount
OrderCatalogEntry ...> catering.order.EventType
@enduml