|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.atlassian.jira.propertyset.CachingOfBizPropertyEntryStore
public class CachingOfBizPropertyEntryStore
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface com.atlassian.jira.propertyset.OfBizPropertyEntryStore |
---|
OfBizPropertyEntryStore.PropertyEntry |
Constructor Summary | |
---|---|
CachingOfBizPropertyEntryStore(org.ofbiz.core.entity.DelegatorInterface genericDelegator,
com.atlassian.cache.CacheManager cacheManager)
|
Method Summary | |
---|---|
OfBizPropertyEntryStore.PropertyEntry |
getEntry(String entityName,
long entityId,
String propertyKey)
Retrieve the type and value of the specified property. |
Collection<String> |
getKeys(String entityName,
long entityId)
Retrieve all keys that are stored in the given property set. |
Collection<String> |
getKeys(String entityName,
long entityId,
int type)
Retrieve all keys that are stored in the given property set and have the specified value type. |
void |
onClearCache(ClearCacheEvent event)
|
void |
removeEntry(String entityName,
long entityId,
String propertyKey)
Remove a specific property from a property set. |
void |
removePropertySet(String entityName,
long entityId)
Removes an entire property set. |
void |
setEntry(String entityName,
long entityId,
String propertyKey,
int type,
Object value)
Stores a new value for the specified property. |
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public CachingOfBizPropertyEntryStore(org.ofbiz.core.entity.DelegatorInterface genericDelegator, com.atlassian.cache.CacheManager cacheManager)
Method Detail |
---|
public Collection<String> getKeys(String entityName, long entityId)
OfBizPropertyEntryStore
getKeys
in interface OfBizPropertyEntryStore
entityName
- the entity name of the property set's ownerentityId
- the entity ID of the property set's owner
public Collection<String> getKeys(String entityName, long entityId, int type)
OfBizPropertyEntryStore
getKeys
in interface OfBizPropertyEntryStore
entityName
- the entity name of the property set's ownerentityId
- the entity ID of the property set's ownertype
- the value type, as defined by the value constants in the PropertySet
interface,
that the keys must have to be returned
public OfBizPropertyEntryStore.PropertyEntry getEntry(String entityName, long entityId, String propertyKey)
OfBizPropertyEntryStore
getEntry
in interface OfBizPropertyEntryStore
entityName
- the entity name of the property set's ownerentityId
- the entity ID of the property set's ownerpropertyKey
- the name of the property to load
null
if the property does not exist. Note that even if it does "exist",
the value
can itself be null
.public void setEntry(String entityName, long entityId, String propertyKey, int type, Object value)
OfBizPropertyEntryStore
setEntry
in interface OfBizPropertyEntryStore
entityName
- the entity name of the property set's ownerentityId
- the entity ID of the property set's ownerpropertyKey
- the name of the property to storetype
- the value type that is to be stored, as defined by the value constants in the
PropertySet
interface.value
- the value to be storedpublic void removeEntry(String entityName, long entityId, String propertyKey)
OfBizPropertyEntryStore
removeEntry
in interface OfBizPropertyEntryStore
entityName
- the entity name of the property set's ownerentityId
- the entity ID of the property set's ownerpropertyKey
- the name of the property to removepublic void removePropertySet(String entityName, long entityId)
Implementation note: This is a "hard" operation to optimize due to the way the tables are structured, OfBiz's poor support for joins and sub-selects, the cache's inability to replicate the invalidation of a group of keys, and the probable performance cost of flushing the entire entry cache. We will make these assumptions:
Based on those assumptions, the decision is to invalidate only those keys for which we actually find and remove an entry, exactly as if they have been removed individually.
removePropertySet
in interface OfBizPropertyEntryStore
entityName
- the entity name of the property set's ownerentityId
- the entity ID of the property set's owner@EventListener public void onClearCache(ClearCacheEvent event)
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |