com.atlassian.jira.issue.fields.config.persistence
Interface FieldConfigSchemePersister

All Known Implementing Classes:
CachedFieldConfigSchemePersister, FieldConfigSchemePersisterImpl

public interface FieldConfigSchemePersister


Method Summary
 FieldConfigScheme create(FieldConfigScheme configScheme, ConfigurableField field)
           
 FieldConfigScheme createWithDefaultValues(ConfigurableField field, Map<String,FieldConfig> configs)
           
 FieldConfigScheme getConfigSchemeForFieldConfig(FieldConfig fieldConfig)
          Finds the FieldConfigScheme that contains the FieldConfig
 List<Long> getConfigSchemeIdsForCustomFieldId(String customFieldId)
          Retrieves the ids of the field config schemes for the specified customfield id.
 List<FieldConfigScheme> getConfigSchemesForCustomField(ConfigurableField field)
           
 FieldConfigScheme getFieldConfigScheme(Long configSchemeId)
           
 Collection<FieldConfigScheme> getInvalidFieldConfigSchemeAfterIssueTypeRemoval(IssueType issueType)
          Returns a collection of the FieldConfigSchemes that will be made invalid if the issueType is removed (that is the FieldConfigScheme would no longer be bound to ANY issue types).
 void init()
           
 void remove(Long fieldConfigSchemeId)
           
 void removeByIssueType(IssueType issueType)
          Removes FieldConfigScheme associations for the given issue type.
 FieldConfigScheme update(FieldConfigScheme configScheme)
           
 

Method Detail

create

FieldConfigScheme create(FieldConfigScheme configScheme,
                         ConfigurableField field)

update

FieldConfigScheme update(FieldConfigScheme configScheme)

remove

void remove(Long fieldConfigSchemeId)

getFieldConfigScheme

FieldConfigScheme getFieldConfigScheme(Long configSchemeId)

getConfigSchemesForCustomField

List<FieldConfigScheme> getConfigSchemesForCustomField(ConfigurableField field)

getConfigSchemeForFieldConfig

FieldConfigScheme getConfigSchemeForFieldConfig(FieldConfig fieldConfig)
Finds the FieldConfigScheme that contains the FieldConfig

Parameters:
fieldConfig - the config to find the containing FieldConfigScheme of; cannot be null.
Returns:
the first scheme that contains the FieldConfig. Not Null.
Throws:
{@link - com.atlassian.jira.exception.DataAccessException} if the FieldConfigScheme is not found.

getConfigSchemeIdsForCustomFieldId

List<Long> getConfigSchemeIdsForCustomFieldId(String customFieldId)
Retrieves the ids of the field config schemes for the specified customfield id. This method should be used when full FieldConfigScheme domain objects are not required, for example when removing them from the system.

Parameters:
customFieldId - the id of the customfield
Returns:
a list of ids of the FieldConfigScheme objects associated with this customfield. Should not be null.

createWithDefaultValues

FieldConfigScheme createWithDefaultValues(ConfigurableField field,
                                          Map<String,FieldConfig> configs)

getInvalidFieldConfigSchemeAfterIssueTypeRemoval

Collection<FieldConfigScheme> getInvalidFieldConfigSchemeAfterIssueTypeRemoval(IssueType issueType)
Returns a collection of the FieldConfigSchemes that will be made invalid if the issueType is removed (that is the FieldConfigScheme would no longer be bound to ANY issue types). If there are still any other issue types that a FieldConfigScheme will be bound to after the removal then it will not be included in the collection returned.

Parameters:
issueType - to be removed
Returns:
A collection of FieldConfigSchemes or an empty collection.
Since:
3.11

removeByIssueType

void removeByIssueType(IssueType issueType)
Removes FieldConfigScheme associations for the given issue type. Please note that this method call on it's own is NOT safe. it removes rows from a many-to-many table without considering other entities in the many-to-many relationship. What this means is that if there's only one row left in the table, this method may remove it, and you'll end up with orphaned values. Only use this in conjunction with getInvalidFieldConfigSchemeAfterIssueTypeRemoval(com.atlassian.jira.issue.issuetype.IssueType). Also see FieldConfigSchemeManagerImpl.removeInvalidFieldConfigSchemesForIssueType(com.atlassian.jira.issue.issuetype.IssueType) for correct usage.

Parameters:
issueType - the issue type to remove the associations for
Since:
3.11

init

void init()


Copyright © 2002-2012 Atlassian. All Rights Reserved.