@startuml

title RegularUserFactory

skinparam sequenceArrowThickness 2
skinparam roundcorner 20
skinparam maxmessagesize 60
skinparam sequenceParticipant underline

participant " : RegularUserFactory" as factory
participant " user : User" as user
participant " email : Email" as voEmail
participant " password : Password" as voPass
participant " name : UserName" as voName
participant " function : Function" as voFunction
participant " photo : Photo" as voPhoto

autonumber


activate factory
factory -> user ** :  <<create>>
activate user

user -> voEmail ** : <<create>>
activate voEmail
user <-- voEmail: voEmail
deactivate voEmail

user -> voPass ** : <<create>>
activate voPass
user <-- voPass: voPass
deactivate voPass

user -> voName ** : <<create>>
activate voName
user <-- voName: voName
deactivate voName

user -> voFunction ** : <<create>>
activate voFunction
user <-- voFunction: voFunction
deactivate voFunction


user -> voPhoto **:  <<create>>
activate voPhoto
user <-- voPhoto: voPhoto
deactivate  voPhoto

factory <-- user: user
deactivate user

@enduml