swt23w23/src/main/asciidoc/models/design/customer.puml
eras660c 7a769f2976
Update Customer and Staff design model and class descriptions
Co-authored-by: Simon Bruder <simon.bruder@mailbox.tu-dresden.de>
2023-11-12 20:05:57 +01:00

79 lines
1.8 KiB
Plaintext

@startuml
skinparam linetype ortho
skinparam groupInheritance 2
package java.util {
class ArrayList
class Collection
class HashSet
class Optional
class Set
}
package catering {
package customer {
class Customer {
- id: int
- surname: String
- name: String
+ Customer(name: String, surname: String)
+ getId(): int
+ getSurname(): String
+ getName(): String
+ setId(): void
+ setSurname(): void
+ setName(): void
}
class CustomerController {
+ CustomerController(customerRepository: CustomerRepository)
+ getCustomer(model Model): String
+ removeCustomer(customerID: int, model Model): String
+ editCustomer(id: int, model Model): String
+ updateCustomer(customer: Customer): String
}
class CustomerDataInitializer {
+ CustomerDataInitializer(customerRepository: CustomerRepository)
+ initialize(): void
}
class CustomerRepository {
+ CustomerRepository()
+ addCustomer(customer: Customer): boolean
+ save(customer: Customer): void
+ count(): long
+ removeCustomer(customerID: int) boolean
+ getCustomers(): Collection<Customer>
+ findById(id: int): Optional<Customer>
}
class RegistrationForm {
- name: String
- password: String
- address: String
+ RegistrationForm(String name, String password, String address)
+ getName(): String
+ getPassword(): String
+ getAddress(): String
+ validate(errors Errors): void
}
}
}
CustomerRepository *-- Customer : -customer
CustomerController --> CustomerRepository : -customerRepository
CustomerDataInitializer --> CustomerRepository : -customerRepository
RegistrationForm <-- CustomerController : use
CustomerRepository --> Set : -customers
CustomerRepository --> HashSet : use
CustomerRepository --> Collection : use
CustomerRepository --> Optional : use
CustomerRepository --> ArrayList : use
@enduml