@startuml
'http://plantuml.com/skinparam.html
skinparam handwritten true
skinparam monochrome true
skinparam packageStyle rect
skinparam defaultFontName FG Virgil
skinparam shadowing false

class CriarEquipaUI <<presentation>>
class CriarEquipaController <<application>>
class PersistenceContext <<persistence>>
class RepositoryFactory <<factory>>
class EquipaRepository <<repository>>
class TipoEquipaRepository <<repository>>
class UtilizadorRepository <<repository>>


CriarEquipaUI --> CriarEquipaController
CriarEquipaUI : doShow()
CriarEquipaUI : listTipos()
CriarEquipaUI : listUser()
CriarEquipaUI : novaEquipa(cod,acronimo,desig,tipo,responsavel)

CriarEquipaController : repositories()
CriarEquipaController : findAll()
CriarEquipaController : create(cod)
CriarEquipaController : create(acronimo)
CriarEquipaController : create(desig)
CriarEquipaController : create(cod,acronimo,desig,tipo,responsavel)
CriarEquipaController : save(novaEquipa)

CriarEquipaController --> EquipaRepository
CriarEquipaController --> TipoEquipaRepository
CriarEquipaController --> UtilizadorRepository
CriarEquipaController --> PersistenceContext
PersistenceContext --> RepositoryFactory

RepositoryFactory --> EquipaRepository
RepositoryFactory : create()

PersistenceContext : create()

@enduml