@startuml

skinparam svgLinkTarget _parent
skinparam linetype ortho
set namespaceSeparator none
class "<b><size:14>JpaUserRepository</b>\n<size:10>eapli.framework.infrastructure.authz.repositories.impl" as eapli.framework.infrastructure.authz.repositories.impl.JpaUserRepository <<Component>> [[../../../../../../eapli/framework/infrastructure/authz/repositories/impl/JpaUserRepository.html{eapli.framework.infrastructure.authz.repositories.impl.JpaUserRepository}]] {
+JpaUserRepository()
+Iterable<SystemUser> findByActive(boolean active)
}


class "<b><size:14>JpaBaseRepository<SystemUser, Username, Username></b>\n<size:10>eapli.framework.infrastructure.repositories.impl.jpa" as eapli.framework.infrastructure.repositories.impl.jpa.JpaBaseRepositorySystemUserUsernameUsername  #lightgrey {
}

hide eapli.framework.infrastructure.repositories.impl.jpa.JpaBaseRepositorySystemUserUsernameUsername fields
hide eapli.framework.infrastructure.repositories.impl.jpa.JpaBaseRepositorySystemUserUsernameUsername methods

eapli.framework.infrastructure.authz.repositories.impl.JpaUserRepository --|> eapli.framework.infrastructure.repositories.impl.jpa.JpaBaseRepositorySystemUserUsernameUsername

class "<b><size:14>SystemUser</b>\n<size:10>eapli.framework.infrastructure.authz.domain.model" as eapli.framework.infrastructure.authz.domain.model.SystemUser <<Entity>> [[../../../../../../eapli/framework/infrastructure/authz/domain/model/SystemUser.html{eapli.framework.infrastructure.authz.domain.model.SystemUser}]] #white {
}

hide eapli.framework.infrastructure.authz.domain.model.SystemUser fields
hide eapli.framework.infrastructure.authz.domain.model.SystemUser methods

eapli.framework.infrastructure.authz.repositories.impl.JpaUserRepository ..> eapli.framework.infrastructure.authz.domain.model.SystemUser

class "<b><size:14>Username</b>\n<size:10>eapli.framework.infrastructure.authz.domain.model" as eapli.framework.infrastructure.authz.domain.model.Username <<Embeddable>> [[../../../../../../eapli/framework/infrastructure/authz/domain/model/Username.html{eapli.framework.infrastructure.authz.domain.model.Username}]] #white {
}

hide eapli.framework.infrastructure.authz.domain.model.Username fields
hide eapli.framework.infrastructure.authz.domain.model.Username methods

eapli.framework.infrastructure.authz.repositories.impl.JpaUserRepository ..> eapli.framework.infrastructure.authz.domain.model.Username

interface "<b><size:14>UserRepository</b>\n<size:10>eapli.framework.infrastructure.authz.domain.repositories" as eapli.framework.infrastructure.authz.domain.repositories.UserRepository  [[../../../../../../eapli/framework/infrastructure/authz/domain/repositories/UserRepository.html{eapli.framework.infrastructure.authz.domain.repositories.UserRepository}]] #white {
}

hide eapli.framework.infrastructure.authz.domain.repositories.UserRepository fields
hide eapli.framework.infrastructure.authz.domain.repositories.UserRepository methods

eapli.framework.infrastructure.authz.repositories.impl.JpaUserRepository ..|> eapli.framework.infrastructure.authz.domain.repositories.UserRepository


@enduml
