2023-11-08 16:36:48 +01:00
|
|
|
@startuml
|
|
|
|
|
|
|
|
skinparam linetype ortho
|
|
|
|
skinparam groupInheritance 2
|
|
|
|
|
2023-11-23 17:15:43 +01:00
|
|
|
package Spring {
|
|
|
|
class CrudRepository
|
|
|
|
class Streamable
|
2023-11-08 16:36:48 +01:00
|
|
|
}
|
|
|
|
|
2023-11-23 17:15:43 +01:00
|
|
|
package catering.staff {
|
2023-11-08 16:36:48 +01:00
|
|
|
|
2023-11-23 17:15:43 +01:00
|
|
|
class Employee {
|
2023-11-08 16:36:48 +01:00
|
|
|
- name: String
|
2023-11-23 17:15:43 +01:00
|
|
|
- id: Long
|
|
|
|
+ Employee()
|
|
|
|
+ Employee(name: String, job: JobType)
|
|
|
|
+ getId(): Long
|
2023-11-08 16:36:48 +01:00
|
|
|
+ getName(): String
|
2023-11-23 17:15:43 +01:00
|
|
|
+ getJob(): JobType
|
|
|
|
+ setName(name: String): void
|
|
|
|
+ setJob(job: JobType): void
|
|
|
|
}
|
|
|
|
|
|
|
|
Employee --> JobType : -job
|
|
|
|
|
|
|
|
enum JobType {
|
|
|
|
COOK
|
|
|
|
SERVICE
|
2023-11-08 16:36:48 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
class StaffController {
|
|
|
|
+ StaffController(staffRepository: StaffRepository)
|
2023-11-23 17:15:43 +01:00
|
|
|
+ getStaff(model: Model): String
|
|
|
|
+ removeEmployee(employee: Employee, model: Model): String
|
|
|
|
+ addEmployee(name: String, job: JobType): String
|
|
|
|
+ editEmployee(employee: Employee, model Model): String
|
|
|
|
+ updateEmployee(employee: Employee, name: String, job: JobType): String
|
2023-11-08 16:36:48 +01:00
|
|
|
}
|
2023-11-23 17:15:43 +01:00
|
|
|
StaffController --> StaffManagement : -staffManagement
|
|
|
|
StaffController ..> Employee
|
|
|
|
|
|
|
|
class StaffManagement {
|
|
|
|
+ StaffManagement(staffRepository: StaffRepository)
|
|
|
|
+ findById(id: Long): Optional<Employee>
|
|
|
|
+ save(employee: Employee): Employee
|
|
|
|
+ findAll(): Streamable<Employee>
|
|
|
|
+ delete(id: Long): void
|
2023-11-08 16:36:48 +01:00
|
|
|
}
|
2023-11-23 17:15:43 +01:00
|
|
|
StaffManagement --> StaffRepository : -staffRepository
|
2023-11-08 16:36:48 +01:00
|
|
|
|
2023-11-23 17:15:43 +01:00
|
|
|
interface StaffRepository {
|
|
|
|
+ findAll(): Streamable<Employee>
|
2023-11-08 16:36:48 +01:00
|
|
|
}
|
2023-11-23 17:15:43 +01:00
|
|
|
StaffRepository --|> CrudRepository : <<extends>>
|
|
|
|
StaffRepository ..|> Streamable
|
|
|
|
StaffRepository o-- Employee
|
2023-11-08 16:36:48 +01:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@enduml
|