Interface NavigableField

All Superinterfaces:
Comparable, Field
All Known Subinterfaces:
AffectedVersionsField, ComponentsField, CustomField, FixVersionsField, ProjectField, SummaryField, TimeSpentField
All Known Implementing Classes:
AbstractAggregateDurationSystemField, AbstractDurationSystemField, AbstractOrderableNavigableFieldImpl, AbstractPickerFieldImpl, AbstractProgressBarSystemField, AbstractTextSystemField, AbstractUserFieldImpl, AbstractVersionsSystemField, AffectedVersionsSystemField, AggregateEstimateSystemField, AggregateOriginalEstimateSystemField, AggregateProgressBarSystemField, AggregateTimeSpentSystemField, AssigneeSystemField, ComponentsSystemField, CreatedSystemField, CreatorSystemField, DescriptionSystemField, DueDateSystemField, EnvironmentSystemField, FixVersionsSystemField, ImmutableCustomField, 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 Details

  • Method Details

    • 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

      @Deprecated(since="10.4", forRemoval=true) @Nullable default org.apache.lucene.search.FieldComparatorSource getSortComparatorSource()
      Deprecated, for removal: This API element is subject to removal in a future version.
      since 10.4, use getFieldSorts(FieldSort.Order) ()} instead
      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 major performance penalty.

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

      @Deprecated(since="10.4", forRemoval=true) @Internal default List<org.apache.lucene.search.SortField> getSortFields(boolean sortOrder)
      Deprecated, for removal: This API element is subject to removal in a future version.
      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.
    • getFieldSorts

      default List<FieldSort> getFieldSorts(FieldSort.Order sortOrder)
      Returns a list of FieldSort objects that can be used to sort this field. This replaces getSortFields(boolean).
      Parameters:
      sortOrder - the order in which to sort the field
      Returns:
      a list of FieldSort objects that can be used to sort this field
      Since:
      10.4
    • hasSortsDefined

      default boolean hasSortsDefined()
      Checks whether the field has either Lucene SortFields or FieldSorts that can be used to sort the field.
      Returns:
      true if the field has either Lucene SortFields or FieldSorts that can be used to sort the field
      Since:
      10.4
    • getSorter

      @Deprecated(since="10.4", forRemoval=true) @Nullable LuceneFieldSorter getSorter()
      Deprecated, for removal: This API element is subject to removal in a future version.
      since 10.4, use getValueLoader() instead
      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:
    • getValueLoader

      @Nullable default FieldValueLoader getValueLoader()
      A loader to be used when loading the value of the field from the index. This method will default to using getSorter() until it is removed. This replaces getSorter().
      Returns:
      A loader that can be used to load the value of the field
      Since:
      10.4
      See Also:
    • getColumnViewHtml

      String getColumnViewHtml(FieldLayoutItem fieldLayoutItem, Map<String,Object> 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

      default String prettyPrintChangeHistory(String changeHistory, String id, I18nHelper i18nHelper)
      Used for email notification templates - allows changelog to be displayed in language of the recipient. By default it calls prettyPrintChangeHistory without id argument for backward compatibility.
      Parameters:
      changeHistory - - label
      id - - object value
      Returns:
      String change history formatted according to locale in i18nHelper
    • prettyPrintChangeHistory

      String prettyPrintChangeHistory(String changeHistory, I18nHelper i18nHelper)
      Used for email notification templates - allows changelog to be displayed in language of the recipient.
      Parameters:
      changeHistory - - label
      Returns:
      String change history formatted according to locale in i18nHelper