@PublicApi public interface

ColumnLayoutManager

com.atlassian.jira.issue.fields.layout.column.ColumnLayoutManager
Known Indirect Subclasses

@PublicApi

This interface is designed for plugins to consume (call its methods).

Clients of @PublicApi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicApi as per each product's API policy as long as the client does not implement/extend @PublicApi interfaces or classes (refer to each product's API policy for the exact guarantee---usually binary compatibility is guaranteed at least across minor versions).

Note: since @PublicApi interfaces and classes are not designed to be implemented or extended by clients, we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces annotated with @PublicSpi are safe to extend/implement).

Class Overview

Provides access to persistence services for ColumnLayout objects for system-wide Issue Navigator default columns, user default columns and columns for Filter Filters.

Plugin authors should prefer to use ColumnService where possible instead as that provides high level i18n and permission aspects.

Summary

Public Methods
ColumnLayout getColumnLayout(ApplicationUser user)
Get the columns layout for a user, if the user does not have one the default is returned
ColumnLayout getColumnLayout(ApplicationUser remoteUser, SearchRequest searchRequest)
Get the columns layout for a searchRequest, if the searchRequest does not have one the user's columns are returned.
ColumnLayout getDefaultColumnLayout()
ColumnLayout getDefaultColumnLayout(ApplicationUser remoteUser)
Get the default Layout, and filter out the columns which a user cannot see
EditableDefaultColumnLayout getEditableDefaultColumnLayout()
Get an editable default column layout for the system
EditableSearchRequestColumnLayout getEditableSearchRequestColumnLayout(ApplicationUser user, SearchRequest searchRequest)
Get an editable column layout for the searchRequest, returns null if it does not have one
EditableUserColumnLayout getEditableUserColumnLayout(ApplicationUser user)
Get an editable column layout for the user, returns null if they do not have one
boolean hasColumnLayout(Long filterId)
Tells whether the filter with the given id has columns configured.
boolean hasColumnLayout(ApplicationUser user)
Tells whether the given user has a column layout.
boolean hasColumnLayout(SearchRequest searchRequest)
Tells whether the given filter has columns configured.
boolean hasDefaultColumnLayout()
Tells whether the system has a default column layout object in the persistent store.
void refresh()
void restoreDefaultColumnLayout()
Sets the ColumnLayout in use for users who have not defined their own, also known as the System column layout.
void restoreSearchRequestColumnLayout(SearchRequest searchRequest)
void restoreUserColumnLayout(ApplicationUser user)
void storeEditableDefaultColumnLayout(EditableDefaultColumnLayout editableDefaultColumnLayout)
Writes the default column layout to permanent storage
void storeEditableSearchRequestColumnLayout(EditableSearchRequestColumnLayout editableSearchRequestColumnLayout)
Writes the default column layout to permanent storage
void storeEditableUserColumnLayout(EditableUserColumnLayout editableUserColumnLayout)
Writes the default column layout to permanent storage

Public Methods

public ColumnLayout getColumnLayout (ApplicationUser user)

Get the columns layout for a user, if the user does not have one the default is returned

Returns
  • Immutable ColumnLayout to be used when displaying

public ColumnLayout getColumnLayout (ApplicationUser remoteUser, SearchRequest searchRequest)

Get the columns layout for a searchRequest, if the searchRequest does not have one the user's columns are returned. If the user does not have one the default is returned

Returns
  • Immutable ColumnLayout to be used when displaying

public ColumnLayout getDefaultColumnLayout ()

public ColumnLayout getDefaultColumnLayout (ApplicationUser remoteUser)

Get the default Layout, and filter out the columns which a user cannot see

public EditableDefaultColumnLayout getEditableDefaultColumnLayout ()

Get an editable default column layout for the system

public EditableSearchRequestColumnLayout getEditableSearchRequestColumnLayout (ApplicationUser user, SearchRequest searchRequest)

Get an editable column layout for the searchRequest, returns null if it does not have one

Returns
  • EditableColumnLayout if there is one for the searchRequest otherwise return a new one generated from the default

public EditableUserColumnLayout getEditableUserColumnLayout (ApplicationUser user)

Get an editable column layout for the user, returns null if they do not have one

Returns
  • EditableColumnLayout if there is one for the user otherwise return a new one generated from the default

public boolean hasColumnLayout (Long filterId)

Tells whether the filter with the given id has columns configured.

Returns
  • true only if there is a filter with the id and its has a column layout.
Throws
ColumnLayoutStorageException when the persistent store is inaccessible.

public boolean hasColumnLayout (ApplicationUser user)

Tells whether the given user has a column layout.

Returns
  • true only if the given user has a column layout.
Throws
ColumnLayoutStorageException when the persistent store is inaccessible.

public boolean hasColumnLayout (SearchRequest searchRequest)

Tells whether the given filter has columns configured.

Returns
  • true only if the filter has a column layout.
Throws
ColumnLayoutStorageException when the persistent store is inaccessible.

public boolean hasDefaultColumnLayout ()

Tells whether the system has a default column layout object in the persistent store.

Returns
  • true only if there is a default column layout.
Throws
ColumnLayoutStorageException when the persistent store is inaccessible.

public void refresh ()

public void restoreDefaultColumnLayout ()

Sets the ColumnLayout in use for users who have not defined their own, also known as the System column layout.

Throws
ColumnLayoutStorageException if the persistent store is inaccessible.

public void restoreSearchRequestColumnLayout (SearchRequest searchRequest)

public void restoreUserColumnLayout (ApplicationUser user)

public void storeEditableDefaultColumnLayout (EditableDefaultColumnLayout editableDefaultColumnLayout)

Writes the default column layout to permanent storage

public void storeEditableSearchRequestColumnLayout (EditableSearchRequestColumnLayout editableSearchRequestColumnLayout)

Writes the default column layout to permanent storage

public void storeEditableUserColumnLayout (EditableUserColumnLayout editableUserColumnLayout)

Writes the default column layout to permanent storage