com.atlassian.greenhopper.service.issue
Class IssueFieldManagerImpl

java.lang.Object
  extended by com.atlassian.greenhopper.service.issue.IssueFieldManagerImpl
All Implemented Interfaces:
IssueFieldManager, org.springframework.beans.factory.InitializingBean

@Service(value="gh-issueFieldManager")
public class IssueFieldManagerImpl
extends java.lang.Object
implements IssueFieldManager, org.springframework.beans.factory.InitializingBean


Field Summary
static IssueField affectedVersionField
           
static IssueField assigneeField
           
static IssueField commentField
           
static IssueField componentField
           
static IssueField createdField
           
static IssueField descriptionField
           
static IssueField dueDateField
           
static IssueField environmentField
           
static IssueField fixForVersionField
           
static IssueField issueKeyField
           
static IssueField issueTypeField
           
static IssueField labelField
           
static IssueField notSupportedField
           
static IssueField originalEstimateField
           
static IssueField parentStatusField
           
static IssueField priorityField
           
static IssueField remainingEstimateField
           
static IssueField reporterField
           
static IssueField resolutionField
           
static IssueField securityField
           
static IssueField spacerField
           
static IssueField statusField
           
static IssueField summaryField
           
static IssueField timeSpentField
           
static IssueField updatedField
           
 
Fields inherited from interface com.atlassian.greenhopper.service.issue.IssueFieldManager
CUSTOMFIELD, SERVICE
 
Constructor Summary
IssueFieldManagerImpl()
           
 
Method Summary
 void afterPropertiesSet()
           
 java.util.Map<java.lang.String,IssueField> getAllAvailableCornerFields()
           
 java.util.Map<java.lang.String,IssueField> getAllAvailableCornerFields(com.atlassian.jira.project.Project project, com.atlassian.jira.issue.issuetype.IssueType issueType)
           
 java.util.Set<IssueField> getAllAvailableFields()
           
 java.util.Set<IssueField> getAllAvailableFields(com.atlassian.jira.project.Project project)
           
 java.util.Map<java.lang.String,IssueField> getAllAvailableFields(com.atlassian.jira.project.Project project, com.atlassian.jira.issue.issuetype.IssueType issueType)
           
 java.util.Map<java.lang.String,IssueField> getAllSystemCardFields()
           
 java.util.Map<java.lang.String,IssueField> getAllSystemCornerFields()
           
 java.util.Map<java.lang.String,IssueField> getAllSystemFields()
           
 IssueField getField(java.lang.String id)
          TODO creating new wrapper objects for the custom fields all the time is actually unnecessary.
 java.util.List<com.atlassian.jira.issue.fields.layout.field.FieldLayoutItem> getFieldsForCreate(BoardIssue boardIssue)
           
 IssueField getIssueFieldForPlugin(java.lang.String pluginKey)
           
 boolean isCornerSupported(com.atlassian.jira.issue.fields.CustomField customField)
           
 boolean isHidden(com.atlassian.jira.project.Project project, java.lang.String issueTypeId, java.lang.String fieldId)
           
static boolean isMultiple(com.atlassian.jira.issue.customfields.CustomFieldType type)
           
 boolean isRequired(BoardIssue boardIssue, java.lang.String fieldId)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

notSupportedField

public static IssueField notSupportedField

spacerField

public static IssueField spacerField

labelField

public static IssueField labelField

priorityField

public static IssueField priorityField

resolutionField

public static IssueField resolutionField

parentStatusField

public static IssueField parentStatusField

statusField

public static IssueField statusField

commentField

public static IssueField commentField

environmentField

public static IssueField environmentField

timeSpentField

public static IssueField timeSpentField

remainingEstimateField

public static IssueField remainingEstimateField

originalEstimateField

public static IssueField originalEstimateField

descriptionField

public static IssueField descriptionField

summaryField

public static IssueField summaryField

securityField

public static IssueField securityField

reporterField

public static IssueField reporterField

dueDateField

public static IssueField dueDateField

assigneeField

public static IssueField assigneeField

componentField

public static IssueField componentField

fixForVersionField

public static IssueField fixForVersionField

affectedVersionField

public static IssueField affectedVersionField

updatedField

public static IssueField updatedField

createdField

public static IssueField createdField

issueTypeField

public static IssueField issueTypeField

issueKeyField

public static IssueField issueKeyField
Constructor Detail

IssueFieldManagerImpl

public IssueFieldManagerImpl()
Method Detail

getField

public IssueField getField(java.lang.String id)
TODO creating new wrapper objects for the custom fields all the time is actually unnecessary. Problem with caching here is that we won't know when new custom fields are created. I think we should revise the whole custom field wrapper idea rather than trying to improve things here with clever caching, since these field instances are hybrid renderers/services and have quite some dependencies.

Specified by:
getField in interface IssueFieldManager

isCornerSupported

public boolean isCornerSupported(com.atlassian.jira.issue.fields.CustomField customField)
Specified by:
isCornerSupported in interface IssueFieldManager

getAllAvailableFields

public java.util.Set<IssueField> getAllAvailableFields()
Specified by:
getAllAvailableFields in interface IssueFieldManager

getAllAvailableFields

public java.util.Set<IssueField> getAllAvailableFields(com.atlassian.jira.project.Project project)
Specified by:
getAllAvailableFields in interface IssueFieldManager

getAllAvailableFields

public java.util.Map<java.lang.String,IssueField> getAllAvailableFields(com.atlassian.jira.project.Project project,
                                                                        com.atlassian.jira.issue.issuetype.IssueType issueType)
Specified by:
getAllAvailableFields in interface IssueFieldManager

getAllAvailableCornerFields

public java.util.Map<java.lang.String,IssueField> getAllAvailableCornerFields()
Specified by:
getAllAvailableCornerFields in interface IssueFieldManager

getAllAvailableCornerFields

public java.util.Map<java.lang.String,IssueField> getAllAvailableCornerFields(com.atlassian.jira.project.Project project,
                                                                              com.atlassian.jira.issue.issuetype.IssueType issueType)
Specified by:
getAllAvailableCornerFields in interface IssueFieldManager

getIssueFieldForPlugin

public IssueField getIssueFieldForPlugin(java.lang.String pluginKey)
                                  throws com.atlassian.plugin.PluginParseException
Specified by:
getIssueFieldForPlugin in interface IssueFieldManager
Throws:
com.atlassian.plugin.PluginParseException

getAllSystemFields

public java.util.Map<java.lang.String,IssueField> getAllSystemFields()
Specified by:
getAllSystemFields in interface IssueFieldManager

getAllSystemCardFields

public java.util.Map<java.lang.String,IssueField> getAllSystemCardFields()
Specified by:
getAllSystemCardFields in interface IssueFieldManager

getAllSystemCornerFields

public java.util.Map<java.lang.String,IssueField> getAllSystemCornerFields()
Specified by:
getAllSystemCornerFields in interface IssueFieldManager

isRequired

public boolean isRequired(BoardIssue boardIssue,
                          java.lang.String fieldId)
Specified by:
isRequired in interface IssueFieldManager

isHidden

public boolean isHidden(com.atlassian.jira.project.Project project,
                        java.lang.String issueTypeId,
                        java.lang.String fieldId)
Specified by:
isHidden in interface IssueFieldManager

isMultiple

public static boolean isMultiple(com.atlassian.jira.issue.customfields.CustomFieldType type)

getFieldsForCreate

public java.util.List<com.atlassian.jira.issue.fields.layout.field.FieldLayoutItem> getFieldsForCreate(BoardIssue boardIssue)
Specified by:
getFieldsForCreate in interface IssueFieldManager

afterPropertiesSet

public void afterPropertiesSet()
                        throws java.lang.Exception
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Throws:
java.lang.Exception


Copyright © 2007-2011 Atlassian. All Rights Reserved.