Class ViewSpecification.Builder

Object
Builder
All Implemented Interfaces:
Cloneable
Enclosing class:
ViewSpecification

public static class ViewSpecification.Builder extends Object implements Cloneable

A builder for ViewSpecification, also used to serialize view specification into JSON.

This class is not thread-safe.

  • Constructor Details

    • Builder

      public Builder()
      Constructs empty builder.
    • Builder

      public Builder(@Nullable ViewSpecification specification)
      Constructs a builder that copies the specification passed as a parameter.
      Parameters:
      specification - a specification to copy
  • Method Details

    • clone

      public ViewSpecification.Builder clone()
      Overrides:
      clone in class Object
    • addColumns

      Adds passed column builders as columns for the future view specification.
      Parameters:
      columns - columns
      Returns:
      this builder
    • removeColumn

      public ViewSpecification.Builder removeColumn(String csid)
      Removes a column identified by csid.
      Parameters:
      csid - the ID of the column to be removed
      Returns:
      this builder
    • addColumn

      public ViewSpecification.Column.Builder addColumn(String key, String csid)

      Adds a column identified by the column key and csid.

      Although key and csid arguments could be null, the resulting builder will not have a valid state - each column in the specification must have csid and key.

      Parameters:
      key - column key
      csid - column csid
      Returns:
      the builder for the column
      See Also:
    • addColumn

      public ViewSpecification.Column.Builder addColumn(String key)

      Adds a column identified by the column key and automatically generated csid.

      Parameters:
      key - column key
      Returns:
      the builder for the column
      See Also:
    • addMainColumn

      public ViewSpecification.Builder addMainColumn()

      Adds "main" column to the view, which displays issue summary, indented to reflect the depth.

      Returns:
      this builder
    • addFieldColumn

      public ViewSpecification.Builder addFieldColumn(String field)

      Adds a field column, identified by JIRA field ID.

      Field id is either one of the system fields (see com.atlassian.jira.issue.IssueFieldConstants) or a custom field id in form of customfield_NNNNN.

      Parameters:
      field - JIRA field id
      Returns:
      this builder
    • addTimeAggregateColumn

      public ViewSpecification.Builder addTimeAggregateColumn(String field)

      Adds "Total Time" column, based on one of the three JIRA time fields.

      Parameter field must be one of the following:

      • "timeoriginalestimate"
      • "timeestimate"
      • "timespent"
      Parameters:
      field - JIRA time field id
      Returns:
      this builder
    • addFieldSumColumn

      public ViewSpecification.Builder addFieldSumColumn(String field)

      Adds an aggregate column that sums up the given JIRA field.

      Parameter field must be one of the following:

      • "timeoriginalestimate"
      • "timeestimate"
      • "timespent"
      • "votes"
      • any numeric custom field id
      Parameters:
      field - JIRA field id
      Returns:
      this builder
    • addProgressColumn

      public ViewSpecification.Builder addProgressColumn()

      Adds the "Progress" column provided by Structure plugin.

      Returns:
      this builder
    • addTPColumn

      public ViewSpecification.Builder addTPColumn()

      Adds the "TP" column provided by Structure plugin.

      Returns:
      this builder
    • addIconsColumn

      public ViewSpecification.Builder addIconsColumn(String... fields)

      Adds an "Icons" column showing the icon representations of the given fields, in that order.

      Each field must be one of the following:

      • "project"
      • "issuetype"
      • "priority"
      • "status"
      • "reporter"
      • "assignee"
      Parameters:
      fields - JIRA field ids
      Returns:
      this builder
    • build

      @NotNull public ViewSpecification build()
      Builds an instance of ViewSpecification. If any column builder has invalid state, it is skipped and not put into the final view.
      Returns:
      the created ViewSpecification
    • getColumns

      @NotNull public List<ViewSpecification.Column.Builder> getColumns()
      Returns:
      the current column builders
    • setColumns

      public void setColumns(List<ViewSpecification.Column.Builder> columns)
      Changes the current column builders to the passed list.
      Parameters:
      columns - column builders
    • setColumnDisplayMode

      public ViewSpecification.Builder setColumnDisplayMode(int columnDisplayMode)
      Set column display mode
      Parameters:
      columnDisplayMode - new column display mode
      Returns:
      this builder
      See Also:
    • setRowDisplayMode

      public ViewSpecification.Builder setRowDisplayMode(int rowDisplayMode)
      Set row display mode
      Parameters:
      rowDisplayMode - new row display mode
      Returns:
      this builder
      See Also:
    • getColumnDisplayMode

      public int getColumnDisplayMode()
      Returns:
      the current column display mode
      See Also:
    • getRowDisplayMode

      public int getRowDisplayMode()
      Returns:
      the current row display mode
      See Also:
    • setPins

      public ViewSpecification.Builder setPins(List<String> pins)
    • getPins

      public List<String> getPins()
      Returns:
      list of csid of pinned columns
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object