@startuml
!include style.puml

box Logic LOGIC_COLOR_T1
participant ":LogicManager" as LogicManager LOGIC_COLOR
participant ":RhrhParser" as RhrhParser LOGIC_COLOR
participant ":DeleteSupplierCommandParser" as DeleteSupplierCommandParser LOGIC_COLOR
participant "d:DeleteSupplierCommand" as DeleteSupplierCommand LOGIC_COLOR
participant ":CommandResult" as CommandResult LOGIC_COLOR
end box

box Model MODEL_COLOR_T1
participant ":Model" as Model MODEL_COLOR
end box

[-> LogicManager : execute("deleteS 1")
activate LogicManager

LogicManager -> RhrhParser : parseCommand("deleteS 1")
activate RhrhParser

create DeleteSupplierCommandParser
RhrhParser -> DeleteSupplierCommandParser
activate DeleteSupplierCommandParser

DeleteSupplierCommandParser --> RhrhParser
deactivate DeleteSupplierCommandParser

RhrhParser -> DeleteSupplierCommandParser : parse("1")
activate DeleteSupplierCommandParser

create DeleteSupplierCommand
DeleteSupplierCommandParser -> DeleteSupplierCommand
activate DeleteSupplierCommand

DeleteSupplierCommand --> DeleteSupplierCommandParser : d
deactivate DeleteSupplierCommand

DeleteSupplierCommandParser --> RhrhParser : d
deactivate DeleteSupplierCommandParser
'Hidden arrow to position the destroy marker below the end of the activation bar.
DeleteSupplierCommandParser -[hidden]-> RhrhParser
destroy DeleteSupplierCommandParser

RhrhParser --> LogicManager : d
deactivate RhrhParser

LogicManager -> DeleteSupplierCommand : execute()
activate DeleteSupplierCommand

DeleteSupplierCommand -> Model : deleteSupplier(1)
activate Model

Model --> DeleteSupplierCommand
deactivate Model

create CommandResult
DeleteSupplierCommand -> CommandResult
activate CommandResult

CommandResult --> DeleteSupplierCommand
deactivate CommandResult

DeleteSupplierCommand --> LogicManager : result
deactivate DeleteSupplierCommand

[<--LogicManager
deactivate LogicManager
@enduml
