public class MockFieldManager extends Object implements FieldManager
CUSTOM_FIELD_PREFIX
Constructor and Description |
---|
MockFieldManager() |
Modifier and Type | Method and Description |
---|---|
MockFieldManager |
addField(Field field) |
MockCustomField |
addMockCustomField(int id) |
MockOrderableField |
addMockOrderableField(int id) |
MockFieldManager |
addUnavilableField(Field field) |
MockFieldManager |
clear() |
Set<NavigableField> |
getAllAvailableNavigableFields() |
Set<SearchableField> |
getAllSearchableFields()
Return all the searchable fields in the system.
|
Set<CustomField> |
getAvailableCustomFields(ApplicationUser remoteUser,
Issue issue)
Retrieves custom fields in scope for the given issue
|
Set<NavigableField> |
getAvailableNavigableFields(ApplicationUser remoteUser) |
Set<NavigableField> |
getAvailableNavigableFieldsWithScope(ApplicationUser user)
Gets all the available fields that the user can see, this is providing no context scope.
|
Set<NavigableField> |
getAvailableNavigableFieldsWithScope(ApplicationUser user,
QueryContext queryContext)
Gets all the available fields within the defined scope of the QueryContext.
|
ColumnLayoutManager |
getColumnLayoutManager() |
ConfigurableField |
getConfigurableField(String id) |
CustomField |
getCustomField(String id)
Get a CustomField by its text key (eg 'customfield_10000').
|
Field |
getField(String id)
Get a field by its id.
|
FieldLayoutManager |
getFieldLayoutManager() |
HideableField |
getHideableField(String id) |
IssueTypeField |
getIssueTypeField()
Retrieve the IssueType system Field.
|
NavigableField |
getNavigableField(String id) |
Set<NavigableField> |
getNavigableFields() |
OrderableField |
getOrderableField(String id) |
Set<OrderableField> |
getOrderableFields() |
ProjectField |
getProjectField()
Retrieve the Project system Field.
|
RequirableField |
getRequiredField(String id) |
Set<SearchableField> |
getSystemSearchableFields()
Return all the searchable systems fields.
|
Set<Field> |
getUnavailableFields() |
Set<FieldLayout> |
getVisibleFieldLayouts(ApplicationUser user)
Returns all the visible FieldLayouts for the given user.
|
boolean |
isCustomField(Field field) |
boolean |
isCustomField(String id)
Returns true if the given ID is a Custom Field that actually exists in JIRA.
|
boolean |
isCustomFieldId(String id)
Returns true if the given field ID is in the custom field format.
|
boolean |
isExistingCustomField(String id)
Returns true if the given ID is a Custom Field that actually exists in JIRA.
|
boolean |
isFieldHidden(ApplicationUser remoteUser,
Field field) |
boolean |
isFieldHidden(ApplicationUser remoteUser,
String fieldId)
Determines whether the field with id of fieldId is NOT hidden in AT LEAST one
FieldLayout that the user can see
(assigned to projects for which the user has the ProjectPermissions.BROWSE_PROJECTS permission). |
boolean |
isFieldHidden(Set<FieldLayout> fieldLayouts,
Field field)
Checks whether the given field is hidden in all of the given Field Layouts.
|
boolean |
isHideableField(Field field) |
boolean |
isHideableField(String id) |
boolean |
isMandatoryField(Field field) |
boolean |
isMandatoryField(String id) |
boolean |
isNavigableField(Field field) |
boolean |
isNavigableField(String id) |
boolean |
isOrderableField(Field field) |
boolean |
isOrderableField(String id) |
boolean |
isRenderableField(Field field) |
boolean |
isRenderableField(String id) |
boolean |
isRequirableField(Field field) |
boolean |
isRequirableField(String id) |
boolean |
isTimeTrackingOn() |
boolean |
isUnscreenableField(Field field) |
boolean |
isUnscreenableField(String id) |
void |
refresh()
Invalidates all field-related caches in JIRA.
|
String |
toString() |
public MockOrderableField addMockOrderableField(int id)
public MockCustomField addMockCustomField(int id)
public MockFieldManager addField(Field field)
public MockFieldManager addUnavilableField(Field field)
public MockFieldManager clear()
public Field getField(String id)
FieldManager
getField
in interface FieldManager
id
- An IssueFieldConstants
constant, or custom field key (eg. "customfield_10010")public boolean isCustomField(String id)
FieldManager
isCustomField
in interface FieldManager
id
- the field IDpublic boolean isCustomFieldId(String id)
FieldManager
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).
isCustomFieldId
in interface FieldManager
id
- the field IDFieldManager.isExistingCustomField(java.lang.String)
public boolean isExistingCustomField(String id)
FieldManager
Checking for existance comes with a performance price, so use where possible
.
isExistingCustomField
in interface FieldManager
id
- the field IDFieldManager.isCustomFieldId(java.lang.String)
public boolean isCustomField(Field field)
isCustomField
in interface FieldManager
@Nullable public CustomField getCustomField(String id)
FieldManager
getCustomField
in interface FieldManager
id
- Eg. 'customfield_10000'CustomField
or null if not found.public boolean isHideableField(String id)
isHideableField
in interface FieldManager
public boolean isHideableField(Field field)
isHideableField
in interface FieldManager
public HideableField getHideableField(String id)
getHideableField
in interface FieldManager
public boolean isOrderableField(String id)
isOrderableField
in interface FieldManager
public boolean isOrderableField(Field field)
isOrderableField
in interface FieldManager
public OrderableField getOrderableField(String id)
getOrderableField
in interface FieldManager
public ConfigurableField getConfigurableField(String id)
getConfigurableField
in interface FieldManager
public Set<OrderableField> getOrderableFields()
getOrderableFields
in interface FieldManager
public Set<NavigableField> getNavigableFields()
getNavigableFields
in interface FieldManager
public boolean isNavigableField(String id)
isNavigableField
in interface FieldManager
public boolean isNavigableField(Field field)
isNavigableField
in interface FieldManager
public NavigableField getNavigableField(String id)
getNavigableField
in interface FieldManager
public boolean isRequirableField(String id)
isRequirableField
in interface FieldManager
public boolean isRequirableField(Field field)
isRequirableField
in interface FieldManager
public boolean isMandatoryField(String id)
isMandatoryField
in interface FieldManager
public boolean isMandatoryField(Field field)
isMandatoryField
in interface FieldManager
public boolean isRenderableField(String id)
isRenderableField
in interface FieldManager
public boolean isRenderableField(Field field)
isRenderableField
in interface FieldManager
public boolean isUnscreenableField(String id)
isUnscreenableField
in interface FieldManager
public boolean isUnscreenableField(Field field)
isUnscreenableField
in interface FieldManager
public RequirableField getRequiredField(String id)
getRequiredField
in interface FieldManager
public FieldLayoutManager getFieldLayoutManager()
public ColumnLayoutManager getColumnLayoutManager()
public void refresh()
FieldManager
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 a FooUpdatedEvent
which 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.
refresh
in interface FieldManager
public Set<Field> getUnavailableFields()
getUnavailableFields
in interface FieldManager
public boolean isFieldHidden(ApplicationUser remoteUser, Field field)
isFieldHidden
in interface FieldManager
public boolean isFieldHidden(Set<FieldLayout> fieldLayouts, Field field)
FieldManager
This method can be used in conjunction with FieldManager.getVisibleFieldLayouts(com.atlassian.jira.user.ApplicationUser)
to provide a more performant way of looking up FieldManager.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)) { ... } }
isFieldHidden
in interface FieldManager
fieldLayouts
- The FieldLayouts to checkfield
- The field to checkFieldManager.getVisibleFieldLayouts(com.atlassian.jira.user.ApplicationUser)
,
FieldManager.isFieldHidden(com.atlassian.jira.user.ApplicationUser, Field)
public Set<FieldLayout> getVisibleFieldLayouts(ApplicationUser user)
FieldManager
This is used in conjunction with FieldManager.isFieldHidden(Set, Field)
as a performance optimisation in usages that want to call FieldManager.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)) { ... } }
getVisibleFieldLayouts
in interface FieldManager
user
- the user whose project browsing permissions are used to limit visible FieldLayouts.public boolean isFieldHidden(ApplicationUser remoteUser, String fieldId)
FieldManager
FieldLayout
that the user can see
(assigned to projects for which the user has the ProjectPermissions.BROWSE_PROJECTS
permission).isFieldHidden
in interface FieldManager
remoteUser
- the remote user.fieldId
- The Field IDpublic Set<NavigableField> getAvailableNavigableFieldsWithScope(ApplicationUser user) throws FieldException
FieldManager
getAvailableNavigableFieldsWithScope
in interface FieldManager
user
- the remote user.FieldException
- thrown if there is a problem looking up the fieldspublic Set<NavigableField> getAvailableNavigableFieldsWithScope(ApplicationUser user, QueryContext queryContext) throws FieldException
FieldManager
getAvailableNavigableFieldsWithScope
in interface FieldManager
user
- the user making the requestqueryContext
- the context of the search request.FieldException
- thrown if there is a problem looking up the fieldspublic Set<CustomField> getAvailableCustomFields(ApplicationUser remoteUser, Issue issue) throws FieldException
FieldManager
getAvailableCustomFields
in interface FieldManager
remoteUser
- Remote com.atlassian.jira.user.ApplicationUserissue
- IssueFieldException
- if cannot retrieve the projects the user can see, or if cannot retrieve
the field layouts for the viewable projectspublic Set<NavigableField> getAllAvailableNavigableFields() throws FieldException
getAllAvailableNavigableFields
in interface FieldManager
FieldException
public Set<NavigableField> getAvailableNavigableFields(ApplicationUser remoteUser) throws FieldException
getAvailableNavigableFields
in interface FieldManager
FieldException
public Set<SearchableField> getAllSearchableFields()
FieldManager
getAllSearchableFields
in interface FieldManager
public Set<SearchableField> getSystemSearchableFields()
FieldManager
getSystemSearchableFields
in interface FieldManager
public IssueTypeField getIssueTypeField()
FieldManager
getIssueTypeField
in interface FieldManager
public ProjectField getProjectField()
FieldManager
getProjectField
in interface FieldManager
public boolean isTimeTrackingOn()
isTimeTrackingOn
in interface FieldManager
Copyright © 2002-2024 Atlassian. All Rights Reserved.