Files
java-design-patterns/optimistic-offline-lock/etc/optimistic-offline-lock.urm.puml
T
Ilkka Seppälä 7d0874d88a deps: update maven
2024-03-27 20:09:01 +02:00

59 lines
1.5 KiB
Plaintext

@startuml
package com.iluwatar.repository {
interface JpaRepository<T> {
+ findById(long) : T {abstract}
+ getEntityVersionById(long) : int {abstract}
+ update(T) : int {abstract}
}
}
package com.iluwatar.api {
interface UpdateService<T> {
+ doUpdate(T, long) : T {abstract}
}
}
package com.iluwatar.service {
class CardUpdateService {
- cardJpaRepository : JpaRepository<Card>
+ CardUpdateService(cardJpaRepository : JpaRepository<Card>)
+ doUpdate(obj : Card, id : long) : Card
}
}
package com.iluwatar.model {
class Card {
- id : long
- personId : long
- sum : float
- version : int
+ Card()
+ Card(id : long, personId : long, sum : float, version : int)
+ builder() : CardBuilder {static}
# canEqual(other : Object) : boolean
+ equals(o : Object) : boolean
+ getId() : long
+ getPersonId() : long
+ getSum() : float
+ getVersion() : int
+ hashCode() : int
+ setId(id : long)
+ setPersonId(personId : long)
+ setSum(sum : float)
+ setVersion(version : int)
+ toString() : String
}
class CardBuilder {
- id : long
- personId : long
- sum : float
- version : int
~ CardBuilder()
+ build() : Card
+ id(id : long) : CardBuilder
+ personId(personId : long) : CardBuilder
+ sum(sum : float) : CardBuilder
+ toString() : String
+ version(version : int) : CardBuilder
}
}
CardUpdateService --> "-cardJpaRepository" JpaRepository
CardUpdateService ..|> UpdateService
@enduml