@startuml
'https://plantuml.com/class-diagram

class UserStoryRepositoryPersistence<<Repository>> {
    - jpaRepository : UserStoryRepositoryJPA
    - jpaAssembler : UserStoryDomainDataAssembler

    + save(userStory : UserStory) : boolean
    + save(userStory : UserStory) : UserStory
    + findAll() : Iterable
    + findByID(id : UserStoryID) : UserStory
    + existsByID(id : UserStoryID) : boolean
    + findByCriteria(criteria : Predicate) : Iterable
    + deleteAll()
    + findAllByID(idList : UserStoryID [0..*]) : UserStory [0..*]
    + deleteById(id : UserStoryID)
    + findByProjectCodeAndStatusNotLike(projectCode : ProjectCode,\n status : Status) : Iterable<UserStory>
}

@enduml