java-design-patterns/repository/etc/repository.urm.puml
2019-12-07 18:03:49 +02:00

56 lines
1.5 KiB
Plaintext

@startuml
package com.iluwatar.repository {
class App {
- LOGGER : Logger {static}
+ App()
+ main(args : String[]) {static}
}
class AppConfig {
- LOGGER : Logger {static}
+ AppConfig()
+ dataSource() : DataSource
+ entityManagerFactory() : LocalContainerEntityManagerFactoryBean
- jpaProperties() : Properties {static}
+ main(args : String[]) {static}
+ transactionManager() : JpaTransactionManager
}
class Person {
- age : int
- id : Long
- name : String
- surname : String
+ Person()
+ Person(name : String, surname : String, age : int)
+ equals(obj : Object) : boolean
+ getAge() : int
+ getId() : Long
+ getName() : String
+ getSurname() : String
+ hashCode() : int
+ setAge(age : int)
+ setId(id : Long)
+ setName(name : String)
+ setSurname(surname : String)
+ toString() : String
}
interface PersonRepository {
+ findByName(String) : Person {abstract}
}
class PersonSpecifications {
+ PersonSpecifications()
}
class AgeBetweenSpec {
- from : int
- to : int
+ AgeBetweenSpec(from : int, to : int)
+ toPredicate(root : Root<Person>, query : CriteriaQuery<?>, cb : CriteriaBuilder) : Predicate
}
class NameEqualSpec {
+ name : String
+ NameEqualSpec(name : String)
+ toPredicate(root : Root<Person>, query : CriteriaQuery<?>, cb : CriteriaBuilder) : Predicate
}
}
NameEqualSpec ..+ PersonSpecifications
AgeBetweenSpec ..+ PersonSpecifications
@enduml