com.atlassian.jira.issue.fields
Interface NavigableField

All Superinterfaces:
Comparable, Field
All Known Subinterfaces:
AffectedVersionsField, ComponentsField, CustomField, FixVersionsField, ProjectField, SummaryField, TimeSpentField
All Known Implementing Classes:
AbstractAggregateDurationSystemField, AbstractDurationSystemField, AbstractOrderableNavigableFieldImpl, AbstractProgressBarSystemField, AbstractTextSystemField, AbstractUserFieldImpl, AbstractVersionsSystemField, AffectedVersionsSystemField, AggregateEstimateSystemField, AggregateOriginalEstimateSystemField, AggregateProgressBarSystemField, AggregateTimeSpentSystemField, AssigneeSystemField, ComponentsSystemField, CreatedSystemField, CreatorSystemField, CustomFieldImpl, CustomFieldTestImpl, DescriptionSystemField, DueDateSystemField, EnvironmentSystemField, FixVersionsSystemField, IssueLinksSystemField, IssueTypeSystemField, KeySystemField, LabelsSystemField, LastViewedSystemField, MockCustomField, MockNavigableField, NavigableFieldImpl, OriginalEstimateSystemField, PrioritySystemField, ProgressBarSystemField, ProjectSystemField, ReporterSystemField, ResolutionDateSystemField, ResolutionSystemField, SecurityLevelSystemField, StatusSystemField, SubTaskSystemField, SummarySystemField, ThumbnailSystemField, TimeEstimateSystemField, TimeSpentSystemField, UpdatedSystemField, VotesSystemField, WatchesSystemField, WorkRatioSystemField

@PublicApi
public interface NavigableField
extends Field

Fields in JIRA which are able to be placed in the Issue Navigator implement this interface.


Field Summary
static String ORDER_ASCENDING
           
static String ORDER_DESCENDING
           
static String TEMPLATE_DIRECTORY_PATH
           
 
Method Summary
 String getColumnCssClass()
           
 String getColumnHeadingKey()
           
 String getColumnViewHtml(FieldLayoutItem fieldLayoutItem, Map displayParams, Issue issue)
           
 String getDefaultSortOrder()
          The order in which to sort the field when it is sorted for the first time.
 String getHiddenFieldId()
          Returns the id of the field to check for visibility.
 org.apache.lucene.search.FieldComparatorSource getSortComparatorSource()
          A sortComparatorSource object to be used for sorting columns in a table.
 LuceneFieldSorter getSorter()
          A sorter to be used when sorting columns in a table.
 List<org.apache.lucene.search.SortField> getSortFields(boolean sortOrder)
          Return a list of Lucene SortFields to be used for sorting search results.
 String prettyPrintChangeHistory(String changeHistory)
           
 String prettyPrintChangeHistory(String changeHistory, I18nHelper i18nHelper)
          Used for email notification templates - allows changelog to be displayed in language of the recipient.
 
Methods inherited from interface com.atlassian.jira.issue.fields.Field
getId, getName, getNameKey
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

TEMPLATE_DIRECTORY_PATH

static final String TEMPLATE_DIRECTORY_PATH
See Also:
Constant Field Values

ORDER_ASCENDING

static final String ORDER_ASCENDING
See Also:
Constant Field Values

ORDER_DESCENDING

static final String ORDER_DESCENDING
See Also:
Constant Field Values
Method Detail

getColumnHeadingKey

String getColumnHeadingKey()

getColumnCssClass

String getColumnCssClass()

getDefaultSortOrder

String getDefaultSortOrder()
The order in which to sort the field when it is sorted for the first time.

Returns:
Either ORDER_ASCENDING or ORDER_DESCENDING

getSortComparatorSource

org.apache.lucene.search.FieldComparatorSource getSortComparatorSource()
A sortComparatorSource object to be used for sorting columns in a table. In most cases this will use a MappedSortComparator using the getSorter() method. However, fields can provide any sorting mechanism that they wish. If a field can be sorted directly using terms in the Lucene index then the field should implement getSortFields(boolean sortOrder) rather than this method. In large installations custom sorting may incur a maor performance penalty.

Returns:
A SortComparatorSource that can be used to sort, or null if this field does not use custom sorting

getSortFields

@Internal
List<org.apache.lucene.search.SortField> getSortFields(boolean sortOrder)
Return a list of Lucene SortFields to be used for sorting search results. Using this method allows the field to specify the most performant way to perform a search. If a field can be sorted directly using the term in the index then this should just return a singleton list with the sort field.

return Collections.singletonList(new SortField(fieldName, sortOrder));

The default implementation builds this using the FieldComparatorSource returned by getSortComparatorSource() If you implement this method there is no need to implement getSortComparatorSource().

Returns:
The name of the indexed term to be used for native Lucene sorting.

getSorter

LuceneFieldSorter getSorter()
A sorter to be used when sorting columns in a table. This sort uses the Lucene Document Collection and is therefore a lot faster than sorting the issues in memory.

Returns:
A sorter that can be used to sort this field, or null depending on the value of getSortComparatorSource()
See Also:
DocumentIssueImpl, MappedSortComparator

getColumnViewHtml

String getColumnViewHtml(FieldLayoutItem fieldLayoutItem,
                         Map displayParams,
                         Issue issue)

getHiddenFieldId

String getHiddenFieldId()
Returns the id of the field to check for visibility. For example, with original estimate field need to ensure that the timetracking field is not hidden. With most fields, this is the same as their id.


prettyPrintChangeHistory

String prettyPrintChangeHistory(String changeHistory)

prettyPrintChangeHistory

String prettyPrintChangeHistory(String changeHistory,
                                I18nHelper i18nHelper)
Used for email notification templates - allows changelog to be displayed in language of the recipient.

Parameters:
changeHistory -
Returns:
String change history formatted according to locale in i18nHelper


Copyright © 2002-2015 Atlassian. All Rights Reserved.