Class AbstractProgressBarSystemField

All Implemented Interfaces:
Field, NavigableField, RestAwareField, Comparable
Direct Known Subclasses:
AggregateProgressBarSystemField, ProgressBarSystemField

public abstract class AbstractProgressBarSystemField extends NavigableFieldImpl implements RestAwareField
Base class for Progress Bar system fields.
Since:
v3.11
  • Constructor Details

  • Method Details

    • getHiddenFieldId

      public String getHiddenFieldId()
      Description copied from interface: NavigableField
      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.
      Specified by:
      getHiddenFieldId in interface NavigableField
      Overrides:
      getHiddenFieldId in class NavigableFieldImpl
    • getColumnViewHtml

      public String getColumnViewHtml(FieldLayoutItem fieldLayoutItem, Map displayParams, Issue issue)
      Specified by:
      getColumnViewHtml in interface NavigableField
    • calculateProgressPercentage

      public static Long calculateProgressPercentage(Long spent, Long remainingEstimate)
      Calculates the progress as spent / (spent + remainingEstimate) if parameters are not null. Returns 0 if spent was null, 100 if remainingEstimate was null, or null if both parameters were null or zeros.

      Throws an IllegalArgumentException if a negative number is passed in.

      Parameters:
      spent - time spent
      remainingEstimate - remaining estimate
      Returns:
      progress as a percentage, can return null
    • getTimeTrackingGraphBeanParameters

      protected abstract AbstractProgressBarSystemField.TimeTrackingParameters getTimeTrackingGraphBeanParameters(Issue issue, I18nHelper helper)
    • getDisplayId

      protected abstract String getDisplayId()
      Returns the display id which is used by the progress-bar.vm template to generate ids for HTML tags.
      Returns:
      id unique for each field
    • getFieldTypeInfo

      public FieldTypeInfo getFieldTypeInfo(FieldTypeInfoContext fieldTypeInfoContext)
      Description copied from interface: RestAwareField
      Returns lower level Information about the field. This information contains allowed values and/or the autocomplete url
      Specified by:
      getFieldTypeInfo in interface RestAwareField
      Parameters:
      fieldTypeInfoContext - the FieldTypeInfoContext contains context information that is relevant to generate the FieldTypeInfo
    • getJsonSchema

      public JsonType getJsonSchema()
      Description copied from interface: RestAwareField
      Return a description of the shape of this field when represented as JSON.
      Specified by:
      getJsonSchema in interface RestAwareField
    • getJsonFromIssue

      public FieldJsonRepresentation getJsonFromIssue(Issue issue, boolean renderedVersionRequested, @Nullable FieldLayoutItem fieldLayoutItem)
      Description copied from interface: RestAwareField
      Return a FieldJsonDataPair containing a json representation of the raw data for this field, and if required, a json representation of the rendered data for easy display.
      Specified by:
      getJsonFromIssue in interface RestAwareField
      Parameters:
      issue - to get field data from
      renderedVersionRequested - whether the use requested the return of rendered/pretty data as well as raw data
      fieldLayoutItem - field layout for this field. Will only be supplied if the field is also an ordereable field.
      Returns:
      FieldJsonDataPair containing a json representation of the raw data for this field, and if required, a json representation of the rendered data for easy display.