swt23w23/src/main/asciidoc/models/design/staff.puml
2023-11-12 19:53:58 +01:00

71 lines
1.5 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 staff {
class Staff {
- id: int
- surname: String
- name: String
- job: String
+ Staff(name: String, surname: String, job: String)
+ getId(): int
+ getSurname(): String
+ getName(): String
+ getJob(): String
+ setId(): void
+ setSurname(): void
+ setName(): void
+ setJob(): void
}
class StaffController {
+ StaffController(staffRepository: StaffRepository)
+ getStaff(model Model): String
+ removeStaff(staffID: int, model Model): String
+ addStaff(name: String, surname: String, job: String): String
+ editStaff(id: int, model Model): String
+ updateStaff(staff: Staff): String
}
class StaffDataInitializer {
+ StaffDataInitializer(staffRepository: StaffRepository)
+ initialize(): void
}
class StaffRepository {
+ StaffRepository()
+ addStaff(staff: Staff): boolean
+ save(staff: Staff): void
+ count(): long
+ removeStaff(staffID: int) boolean
+ getStaff(): Collection<Staff>
+ findById(id: int): Optional<Staff>
}
}
}
StaffRepository *-- Staff : -staff
StaffController --> StaffRepository : -staffRepository
StaffDataInitializer --> StaffRepository : -staffRepository
StaffRepository --> Set : -staffs
StaffRepository --> HashSet : use
StaffRepository --> Collection : use
StaffRepository --> Optional : use
StaffRepository --> ArrayList : use
@enduml