com.atlassian.jira.propertyset
Interface JiraPropertySetFactory

All Known Implementing Classes:
DefaultJiraPropertySetFactory

public interface JiraPropertySetFactory

Provides a number of utility methods to get a handle on a property set in JIRA. Please note that this class' sole responsibility is to create a property set. It does not cache this property set internal and repeated method calls will create a new property set every time. The returned PropertySet should be referenced by the caller to avoid re-creating it every time.

Since:
v3.12

Method Summary
 com.opensymphony.module.propertyset.PropertySet buildCachingDefaultPropertySet(java.lang.String entityName, boolean bulkLoad)
          Returns a PropertySet for a particular entity.
 com.opensymphony.module.propertyset.PropertySet buildCachingPropertySet(com.opensymphony.module.propertyset.PropertySet propertySet, boolean bulkLoad)
          Returns a caching PropertySet that wraps the provided propertyset.
 com.opensymphony.module.propertyset.PropertySet buildCachingPropertySet(java.lang.String entityName, java.lang.Long entityId, boolean bulkLoad)
          Returns a PropertySet.
 com.opensymphony.module.propertyset.PropertySet buildMemoryPropertySet(java.lang.String entityName, java.lang.Long entityId)
          Returns an in memory copy of a property set from the database.
 com.opensymphony.module.propertyset.PropertySet buildNoncachingPropertySet(java.lang.String entityName)
          Returns a PropertySet for a particular entity.
 com.opensymphony.module.propertyset.PropertySet buildNoncachingPropertySet(java.lang.String entityName, java.lang.Long entityId)
          Returns a PropertySet based on a ofbiz delegator.
 

Method Detail

buildNoncachingPropertySet

com.opensymphony.module.propertyset.PropertySet buildNoncachingPropertySet(java.lang.String entityName)
Returns a PropertySet for a particular entity. Specifies a default entity id of 1. Any access (read and write) to this PropertySet will result in a DB call.

Parameters:
entityName - The entity name to lookup your properties. E.g. jira.svn.plugin
Returns:
a PropertySet backed by a com.opensymphony.module.propertyset.ofbiz.OFBizPropertySet.

buildNoncachingPropertySet

com.opensymphony.module.propertyset.PropertySet buildNoncachingPropertySet(java.lang.String entityName,
                                                                           java.lang.Long entityId)
Returns a PropertySet based on a ofbiz delegator. Any access (read and write) to this PropertySet will result in a DB call.

Parameters:
entityName - The entity name to lookup your properties. E.g. jira.svn.plugin
entityId - The entity id if you multiple properties per entity name. (E.g. OSUser properties per user id)
Returns:
a PropertySet backed by a com.opensymphony.module.propertyset.ofbiz.OFBizPropertySet.

buildCachingDefaultPropertySet

com.opensymphony.module.propertyset.PropertySet buildCachingDefaultPropertySet(java.lang.String entityName,
                                                                               boolean bulkLoad)
Returns a PropertySet for a particular entity. Entries in this set are cached in memory for better performance.Specifies a default entity id of 1. Please note that this is a write-through-cache, meaning that reads will be cached up, however any write will call through to the database and invalidate the relevant cache entry.

Parameters:
entityName - The entity name to lookup your properties. E.g. jira.svn.plugin
bulkLoad - If true, all properties will be loaded during initialisation of the propertyset and cached
Returns:
a PropertySet backed by a caching property set

buildCachingPropertySet

com.opensymphony.module.propertyset.PropertySet buildCachingPropertySet(java.lang.String entityName,
                                                                        java.lang.Long entityId,
                                                                        boolean bulkLoad)
Returns a PropertySet. Entries in this set are cached in memory for better performance. Please note that this is a write-through-cache, meaning that reads will be cached up, however any write will call through to the database and invalidate the relevant cache entry.

Parameters:
entityName - The entity name to lookup your properties. E.g. jira.svn.plugin
entityId - The entity id if you multiple properties per entity name. (E.g. OSUser properties per user id)
bulkLoad - If true, all properties will be loaded during initialisation of the propertyset and cached
Returns:
a PropertySet backed by a caching property set

buildCachingPropertySet

com.opensymphony.module.propertyset.PropertySet buildCachingPropertySet(com.opensymphony.module.propertyset.PropertySet propertySet,
                                                                        boolean bulkLoad)
Returns a caching PropertySet that wraps the provided propertyset. Entries in this set are cached in memory for better performance. Please note that this is a write-through-cache, meaning that reads will be cached up, however any write will call through to the database and invalidate the relevant cache entry.

Parameters:
propertySet - A PropertySet to wrap by a caching property set
bulkLoad - If true, all properties will be loaded during initialisation of the propertyset and cached
Returns:
a PropertySet backed by a caching property set

buildMemoryPropertySet

com.opensymphony.module.propertyset.PropertySet buildMemoryPropertySet(java.lang.String entityName,
                                                                       java.lang.Long entityId)
Returns an in memory copy of a property set from the database. This property set will not have its configuration saved to the database on each change. It is up to the caller of this method to manually synchronize the returned property set with the database.

Parameters:
entityName - The entity name to lookup your properties. E.g. jira.svn.plugin
entityId - The entity id if you multiple properties per entity name. (E.g. OSUser properties per user id)
Returns:
a PropertySet held completely in memory. Changes will not be written to the database.


Copyright © 2002-2010 Atlassian. All Rights Reserved.