public class

EagerLoadingOfBizCustomFieldPersister

extends OfBizCustomFieldValuePersister
java.lang.Object
   ↳ com.atlassian.jira.issue.customfields.persistence.OfBizCustomFieldValuePersister
     ↳ com.atlassian.jira.issue.customfields.persistence.EagerLoadingOfBizCustomFieldPersister

Class Overview

Many times, the values for custom fields are all retrieved at the same time - such as viewing all values for an issue, or indexing all custom fields.

It therefore makes sense to eagerly loaded, reducing the number of database calls needed.

Summary

[Expand]
Inherited Constants
From class com.atlassian.jira.issue.customfields.persistence.OfBizCustomFieldValuePersister
[Expand]
Inherited Fields
From class com.atlassian.jira.issue.customfields.persistence.OfBizCustomFieldValuePersister
Public Constructors
EagerLoadingOfBizCustomFieldPersister(OfBizDelegator delegator)
Public Methods
void createValues(CustomField field, Long issueId, PersistenceFieldType persistenceFieldType, Collection values)
void createValues(CustomField field, Long issueId, PersistenceFieldType persistenceFieldType, Collection values, String parentKey)
Set removeAllValues(String customFieldId)
Called when removing a field.
Set<Long> removeValue(CustomField field, Long issueId, PersistenceFieldType persistenceFieldType, Object value)
Removes a specific custom field value for the given custom field, from a given issue, of a particular type.
void updateValues(CustomField field, Long issueId, PersistenceFieldType persistenceFieldType, Collection values, String parentKey)
void updateValues(CustomField field, Long issueId, PersistenceFieldType persistenceFieldType, Collection values)
Protected Methods
List<GenericValue> getValuesForType(CustomField field, Long issueId)
List<GenericValue> getValuesForTypeAndParent(CustomField field, Long issueId, String parentKey)
[Expand]
Inherited Methods
From class com.atlassian.jira.issue.customfields.persistence.OfBizCustomFieldValuePersister
From class java.lang.Object
From interface com.atlassian.jira.issue.customfields.persistence.CustomFieldValuePersister

Public Constructors

public EagerLoadingOfBizCustomFieldPersister (OfBizDelegator delegator)

Public Methods

public void createValues (CustomField field, Long issueId, PersistenceFieldType persistenceFieldType, Collection values)

public void createValues (CustomField field, Long issueId, PersistenceFieldType persistenceFieldType, Collection values, String parentKey)

public Set removeAllValues (String customFieldId)

Called when removing a field. Removes all the customfield values linked to the customfield Id provided.

Parameters
customFieldId the id of the custom field
Returns
  • issue IDs affected.

public Set<Long> removeValue (CustomField field, Long issueId, PersistenceFieldType persistenceFieldType, Object value)

Removes a specific custom field value for the given custom field, from a given issue, of a particular type.

Parameters
field the custom field.
issueId the issue.
persistenceFieldType the data type of the value
value the value to delete.
Returns
  • returns the set of ids of issues that were affected for some reason (should be 1, just the given issue!).

public void updateValues (CustomField field, Long issueId, PersistenceFieldType persistenceFieldType, Collection values, String parentKey)

public void updateValues (CustomField field, Long issueId, PersistenceFieldType persistenceFieldType, Collection values)

Protected Methods

protected List<GenericValue> getValuesForType (CustomField field, Long issueId)

protected List<GenericValue> getValuesForTypeAndParent (CustomField field, Long issueId, String parentKey)