Class MockFieldManager
- All Implemented Interfaces:
FieldManager
-
Field Summary
Fields inherited from interface com.atlassian.jira.issue.fields.FieldManager
CUSTOM_FIELD_PREFIX -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddMockCustomField(int id) addMockOrderableField(int id) addUnavilableField(Field field) clear()Return all the searchable fields in the system.getAvailableCustomFields(ApplicationUser remoteUser, Issue issue) Retrieves custom fields in scope for the given issuegetAvailableNavigableFields(ApplicationUser remoteUser) Gets all the available fields that the user can see, this is providing no context scope.getAvailableNavigableFieldsWithScope(ApplicationUser user, QueryContext queryContext) Gets all the available fields within the defined scope of the QueryContext.getCustomField(String id) Get a CustomField by its text key (eg 'customfield_10000').Get a field by its id.Retrieve the IssueType system Field.Retrieve the Project system Field.Return all the searchable systems fields.Returns all the visible FieldLayouts for the given user.booleanisCustomField(Field field) booleanisCustomField(String id) Returns true if the given ID is a Custom Field that actually exists in JIRA.booleanReturns true if the given field ID is in the custom field format.booleanReturns true if the given ID is a Custom Field that actually exists in JIRA.booleanisFieldHidden(ApplicationUser remoteUser, Field field) booleanisFieldHidden(ApplicationUser remoteUser, String fieldId) Determines whether the field with id of fieldId is NOT hidden in AT LEAST oneFieldLayoutthat the user can see (assigned to projects for which the user has theProjectPermissions.BROWSE_PROJECTSpermission).booleanisFieldHidden(Set<FieldLayout> fieldLayouts, Field field) Checks whether the given field is hidden in all of the given Field Layouts.booleanisHideableField(Field field) booleanbooleanisMandatoryField(Field field) booleanbooleanisNavigableField(Field field) booleanbooleanisOrderableField(Field field) booleanbooleanisRenderableField(Field field) booleanbooleanisRequirableField(Field field) booleanbooleanbooleanisUnscreenableField(Field field) booleanvoidrefresh()Invalidates all field-related caches in JIRA.toString()
-
Constructor Details
-
MockFieldManager
public MockFieldManager()
-
-
Method Details
-
addMockOrderableField
-
addMockCustomField
-
addField
-
clear
-
getField
Description copied from interface:FieldManagerGet a field by its id.- Specified by:
getFieldin interfaceFieldManager- Parameters:
id- AnIssueFieldConstantsconstant, or custom field key (eg. "customfield_10010")- Returns:
- the Field
-
isCustomField
Description copied from interface:FieldManagerReturns true if the given ID is a Custom Field that actually exists in JIRA.- Specified by:
isCustomFieldin interfaceFieldManager- Parameters:
id- the field ID- Returns:
- true if the given ID is a Custom Field that actually exists in JIRA.
-
isCustomFieldId
Description copied from interface:FieldManagerReturns true if the given field ID is in the custom field format.This method just checks that the ID looks like a Custom Field (it starts with "customfield_") but not that the custom field actually exists (it could have been deleted).
- Specified by:
isCustomFieldIdin interfaceFieldManager- Parameters:
id- the field ID- Returns:
- true if the given ID is a Custom Field that actually exists in JIRA.
- See Also:
-
isExistingCustomField
Description copied from interface:FieldManagerReturns true if the given ID is a Custom Field that actually exists in JIRA.Checking for existance comes with a performance price, so use
where possible.- Specified by:
isExistingCustomFieldin interfaceFieldManager- Parameters:
id- the field ID- Returns:
- true if the given ID is a Custom Field that actually exists in JIRA.
- See Also:
-
isCustomField
- Specified by:
isCustomFieldin interfaceFieldManager
-
getCustomField
Description copied from interface:FieldManagerGet a CustomField by its text key (eg 'customfield_10000').- Specified by:
getCustomFieldin interfaceFieldManager- Parameters:
id- Eg. 'customfield_10000'- Returns:
- The
CustomFieldor null if not found.
-
isHideableField
- Specified by:
isHideableFieldin interfaceFieldManager
-
isHideableField
- Specified by:
isHideableFieldin interfaceFieldManager
-
getHideableField
- Specified by:
getHideableFieldin interfaceFieldManager
-
isOrderableField
- Specified by:
isOrderableFieldin interfaceFieldManager
-
isOrderableField
- Specified by:
isOrderableFieldin interfaceFieldManager
-
getOrderableField
- Specified by:
getOrderableFieldin interfaceFieldManager
-
getConfigurableField
- Specified by:
getConfigurableFieldin interfaceFieldManager
-
getOrderableFields
- Specified by:
getOrderableFieldsin interfaceFieldManager
-
isRequirableField
- Specified by:
isRequirableFieldin interfaceFieldManager
-
isRequirableField
- Specified by:
isRequirableFieldin interfaceFieldManager
-
isMandatoryField
- Specified by:
isMandatoryFieldin interfaceFieldManager
-
isMandatoryField
- Specified by:
isMandatoryFieldin interfaceFieldManager
-
isRenderableField
- Specified by:
isRenderableFieldin interfaceFieldManager
-
isRenderableField
- Specified by:
isRenderableFieldin interfaceFieldManager
-
isUnscreenableField
- Specified by:
isUnscreenableFieldin interfaceFieldManager
-
isUnscreenableField
- Specified by:
isUnscreenableFieldin interfaceFieldManager
-
getRequiredField
- Specified by:
getRequiredFieldin interfaceFieldManager
-
getFieldLayoutManager
-
getColumnLayoutManager
-
refresh
public void refresh()Description copied from interface:FieldManagerInvalidates all field-related caches in JIRA.WARNING
This method invalidates a whole lot of JIRA caches, which means that JIRA performance significantly degrades after this method has been called. For this reason, you should avoid calling this method at all costs.The correct approach to invalidate the cache entries is to do it in the "store" inside the
FooStore.updateFoo()method, where you can invalidate a single cache entry. If the cache lives in another class then the store should raise aFooUpdatedEventwhich that class can listen to in order to keep its caches up to date.If you add any calls to this method in JIRA I will hunt you down and subject you to a Spanish inquisition.
- Specified by:
refreshin interfaceFieldManager
-
isFieldHidden
- Specified by:
isFieldHiddenin interfaceFieldManager
-
isFieldHidden
Description copied from interface:FieldManagerChecks whether the given field is hidden in all of the given Field Layouts.This method can be used in conjunction with
FieldManager.getVisibleFieldLayouts(com.atlassian.jira.user.ApplicationUser)to provide a more performant way of looking upFieldManager.isFieldHidden(com.atlassian.jira.user.ApplicationUser, Field)multiple times. Instead, it is more efficient to do something like:SetfieldLayouts = fieldManager.getVisibleFieldLayouts(loggedInUser); for (Field field: myFields) { if (fieldManager.isFieldHidden(fieldLayouts1, field)) { ... } } - Specified by:
isFieldHiddenin interfaceFieldManager- Parameters:
fieldLayouts- The FieldLayouts to checkfield- The field to check- Returns:
- true if the given field is hidden in all of the given Field Layouts.
- See Also:
-
getVisibleFieldLayouts
Description copied from interface:FieldManagerReturns all the visible FieldLayouts for the given user.This is used in conjunction with
FieldManager.isFieldHidden(Set, Field)as a performance optimisation in usages that want to callFieldManager.isFieldHidden(com.atlassian.jira.user.ApplicationUser, Field)multiple times. Instead, it is more efficient to do something like:SetfieldLayouts = fieldManager.getVisibleFieldLayouts(loggedInUser); for (Field field: myFields) { if (fieldManager.isFieldHidden(fieldLayouts1, field)) { ... } } - Specified by:
getVisibleFieldLayoutsin interfaceFieldManager- Parameters:
user- the user whose project browsing permissions are used to limit visible FieldLayouts.- Returns:
- all the visible FieldLayouts for the given user.
-
isFieldHidden
Description copied from interface:FieldManagerDetermines whether the field with id of fieldId is NOT hidden in AT LEAST oneFieldLayoutthat the user can see (assigned to projects for which the user has theProjectPermissions.BROWSE_PROJECTSpermission).- Specified by:
isFieldHiddenin interfaceFieldManager- Parameters:
remoteUser- the remote user.fieldId- The Field ID
-
getAvailableCustomFields
public Set<CustomField> getAvailableCustomFields(ApplicationUser remoteUser, Issue issue) throws FieldException Description copied from interface:FieldManagerRetrieves custom fields in scope for the given issue- Specified by:
getAvailableCustomFieldsin interfaceFieldManager- Parameters:
remoteUser- Remote com.atlassian.jira.user.ApplicationUserissue- Issue- Returns:
- custom fields in scope for the given issue
- Throws:
FieldException- if cannot retrieve the projects the user can see, or if cannot retrieve the field layouts for the viewable projects
-
getAllSearchableFields
Description copied from interface:FieldManagerReturn all the searchable fields in the system. This set will included all defined custom fields.- Specified by:
getAllSearchableFieldsin interfaceFieldManager- Returns:
- the set of all searchable fields in the system.
-
getSystemSearchableFields
Description copied from interface:FieldManagerReturn all the searchable systems fields. This set will *NOT* include defined custom fields.- Specified by:
getSystemSearchableFieldsin interfaceFieldManager- Returns:
- the set of all searchable systems fields defined.
-
getIssueTypeField
Description copied from interface:FieldManagerRetrieve the IssueType system Field.- Specified by:
getIssueTypeFieldin interfaceFieldManager- Returns:
- the IssueType system Field.
-
getProjectField
Description copied from interface:FieldManagerRetrieve the Project system Field.- Specified by:
getProjectFieldin interfaceFieldManager- Returns:
- the Project system Field.
-
isTimeTrackingOn
public boolean isTimeTrackingOn()- Specified by:
isTimeTrackingOnin interfaceFieldManager
-
toString
-