|
||||||||||
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<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 VersionStore
public org.ofbiz.core.entity.GenericValue getVersion(Long id)
getVersion
in interface VersionStore
public org.ofbiz.core.entity.GenericValue createVersion(Map<String,Object> 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<Version> 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
public List<org.ofbiz.core.entity.GenericValue> getVersionsByName(String name)
VersionStore
getVersionsByName
in interface VersionStore
name
- Version name
public List<org.ofbiz.core.entity.GenericValue> getVersionsByProject(Long projectId)
VersionStore
getVersionsByProject
in interface VersionStore
projectId
- Project Id
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |