|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.atlassian.jira.project.version.CachingVersionStore
public class CachingVersionStore
A caching implementation of the VersionStore that relies on a delegate to do the DB operations.
This class needs some thread synchronisation for thread safety, to avoid loading a stale copy of the Versions into the cache. However, it is optimised such that readers will never be blocked by writers, and writers only block each other for the minimum necessary time. Because pre-loading the cache would add overhead to JIRA's startup, the cache is lazily initialised, and so the first call will load the cache for the first time. This is the only time that readers may block, waiting for the cache to be initialised.
| Constructor Summary | |
|---|---|
CachingVersionStore(VersionStore delegate)
|
|
| Method Summary | |
|---|---|
org.ofbiz.core.entity.GenericValue |
createVersion(Map<String,Object> versionParams)
|
void |
deleteVersion(org.ofbiz.core.entity.GenericValue versionGV)
|
List<org.ofbiz.core.entity.GenericValue> |
getAllVersions()
Returns a list of GenericValues representing all Versions in JIRA, ordered by sequence. |
org.ofbiz.core.entity.GenericValue |
getVersion(Long id)
|
List<org.ofbiz.core.entity.GenericValue> |
getVersionsByName(String name)
Returns a list of GenericValues representing all Versions in JIRA with a given name, case insensitively. |
List<org.ofbiz.core.entity.GenericValue> |
getVersionsByProject(Long projectId)
Returns a list of GenericValues representing all Versions in a project. |
void |
onClearCache(ClearCacheEvent event)
|
void |
storeVersion(Version version)
Stores an individual Version in the DB. |
void |
storeVersions(Collection<Version> versions)
Stores a collection of Version objects. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CachingVersionStore(VersionStore delegate)
| Method Detail |
|---|
@EventListener public void onClearCache(ClearCacheEvent event)
public List<org.ofbiz.core.entity.GenericValue> getAllVersions()
VersionStore
getAllVersions in interface VersionStorepublic org.ofbiz.core.entity.GenericValue getVersion(Long id)
getVersion in interface VersionStorepublic org.ofbiz.core.entity.GenericValue createVersion(Map<String,Object> versionParams)
createVersion in interface VersionStorepublic void storeVersion(Version version)
VersionStoreVersionStore.storeVersions(java.util.Collection) , it can be more efficient.
storeVersion in interface VersionStoreversion - The Version to store.VersionStore.storeVersions(java.util.Collection) public void storeVersions(Collection<Version> versions)
VersionStorestoreVersion() multiple times.
eg the CachingVersionStore will reload the cache from DB with every call to storeVersion().
- Specified by:
storeVersions in interface VersionStore
- Parameters:
versions - Collection of Version objects.- See Also:
VersionStore.storeVersion(Version)
public void deleteVersion(org.ofbiz.core.entity.GenericValue versionGV)
deleteVersion in interface VersionStorepublic List<org.ofbiz.core.entity.GenericValue> getVersionsByName(String name)
VersionStore
getVersionsByName in interface VersionStorename - Version name
public List<org.ofbiz.core.entity.GenericValue> getVersionsByProject(Long projectId)
VersionStore
getVersionsByProject in interface VersionStoreprojectId - Project Id
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||