Interface ColumnLayoutManager
- All Known Implementing Classes:
DefaultColumnLayoutManager
@PublicApi
public interface ColumnLayoutManager
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.
-
Method Summary
Modifier and TypeMethodDescriptionGet the columns layout for a user, if the user does not have one the default is returnedgetColumnLayout
(ApplicationUser remoteUser, SearchRequest searchRequest) Get the columns layout for a searchRequest, if the searchRequest does not have one the user's columns are returned.getDefaultColumnLayout
(ApplicationUser remoteUser) Get the default Layout, and filter out the columns which a user cannot seeGet an editable default column layout for the systemgetEditableSearchRequestColumnLayout
(ApplicationUser user, SearchRequest searchRequest) Get an editable column layout for the searchRequest, returns null if it does not have oneGet an editable column layout for the user, returns null if they do not have oneboolean
hasColumnLayout
(SearchRequest searchRequest) Tells whether the givenfilter
has columns configured.boolean
Tells whether the given user has a column layout.boolean
hasColumnLayout
(Long filterId) Tells whether the filter with the given id has columns configured.boolean
Tells whether the system has a default column layout object in the persistent store.void
refresh()
void
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
void
storeEditableDefaultColumnLayout
(EditableDefaultColumnLayout editableDefaultColumnLayout) Writes the default column layout to permanent storagevoid
storeEditableSearchRequestColumnLayout
(EditableSearchRequestColumnLayout editableSearchRequestColumnLayout) Writes the default column layout to permanent storagevoid
storeEditableUserColumnLayout
(EditableUserColumnLayout editableUserColumnLayout) Writes the default column layout to permanent storage
-
Method Details
-
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.
-
hasColumnLayout
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.
-
hasColumnLayout
Tells whether the givenfilter
has columns configured.- Returns:
- true only if the filter has a column layout.
- Throws:
ColumnLayoutStorageException
- when the persistent store is inaccessible.
-
hasColumnLayout
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.
-
getColumnLayout
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
- Throws:
ColumnLayoutStorageException
-
getColumnLayout
ColumnLayout getColumnLayout(ApplicationUser remoteUser, SearchRequest searchRequest) throws ColumnLayoutStorageException 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
- Throws:
ColumnLayoutStorageException
-
getEditableDefaultColumnLayout
Get an editable default column layout for the system- Throws:
ColumnLayoutStorageException
-
getEditableUserColumnLayout
EditableUserColumnLayout getEditableUserColumnLayout(ApplicationUser user) throws ColumnLayoutStorageException 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
- Throws:
ColumnLayoutStorageException
-
getEditableSearchRequestColumnLayout
EditableSearchRequestColumnLayout getEditableSearchRequestColumnLayout(ApplicationUser user, SearchRequest searchRequest) throws ColumnLayoutStorageException 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
- Throws:
ColumnLayoutStorageException
-
storeEditableDefaultColumnLayout
void storeEditableDefaultColumnLayout(EditableDefaultColumnLayout editableDefaultColumnLayout) throws ColumnLayoutStorageException Writes the default column layout to permanent storage- Throws:
ColumnLayoutStorageException
-
storeEditableUserColumnLayout
void storeEditableUserColumnLayout(EditableUserColumnLayout editableUserColumnLayout) throws ColumnLayoutStorageException Writes the default column layout to permanent storage- Throws:
ColumnLayoutStorageException
-
storeEditableSearchRequestColumnLayout
void storeEditableSearchRequestColumnLayout(EditableSearchRequestColumnLayout editableSearchRequestColumnLayout) throws ColumnLayoutStorageException Writes the default column layout to permanent storage- Throws:
ColumnLayoutStorageException
-
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.
-
restoreUserColumnLayout
- Throws:
ColumnLayoutStorageException
-
restoreSearchRequestColumnLayout
void restoreSearchRequestColumnLayout(SearchRequest searchRequest) throws ColumnLayoutStorageException - Throws:
ColumnLayoutStorageException
-
getDefaultColumnLayout
Get the default Layout, and filter out the columns which a user cannot see- Throws:
ColumnLayoutStorageException
-
getDefaultColumnLayout
- Throws:
ColumnLayoutStorageException
-
refresh
void refresh()
-