|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.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 versionParams)
|
void |
deleteVersion(org.ofbiz.core.entity.GenericValue versionGV)
|
List |
getAllVersions()
Returns a list of GenericValues representing all Versions in JIRA, ordered by sequence. |
org.ofbiz.core.entity.GenericValue |
getVersion(Long id)
|
void |
storeVersion(Version version)
Stores an individual Version in the DB. |
void |
storeVersions(Collection 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 |
---|
public List getAllVersions()
VersionStore
getAllVersions
in interface VersionStore
public org.ofbiz.core.entity.GenericValue getVersion(Long id)
getVersion
in interface VersionStore
public org.ofbiz.core.entity.GenericValue createVersion(Map versionParams)
createVersion
in interface VersionStore
public void storeVersion(Version version)
VersionStore
VersionStore.storeVersions(java.util.Collection)
, it can be more efficient.
storeVersion
in interface VersionStore
version
- The Version to store.VersionStore.storeVersions(java.util.Collection)
public void storeVersions(Collection versions)
VersionStore
storeVersion() 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 VersionStore
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |