com.atlassian.jira.web.action
Class AbstractPluggableTabPanelAction<TabPanelClass extends PluggableTabPanelModuleDescriptor>

java.lang.Object
  extended by webwork.action.ActionSupport
      extended by com.atlassian.jira.action.JiraActionSupport
          extended by com.atlassian.jira.web.action.JiraWebActionSupport
              extended by com.atlassian.jira.web.action.ProjectActionSupport
                  extended by com.atlassian.jira.web.action.IssueActionSupport
                      extended by com.atlassian.jira.web.action.AbstractPluggableTabPanelAction<TabPanelClass>
All Implemented Interfaces:
ErrorCollection, I18nHelper, HttpServletVariables, AuthorizationSupport, Serializable, webwork.action.Action, webwork.action.CommandDriven, webwork.action.IllegalArgumentAware
Direct Known Subclasses:
ViewProfile

public abstract class AbstractPluggableTabPanelAction<TabPanelClass extends PluggableTabPanelModuleDescriptor>
extends IssueActionSupport

Manages the setting, retrieval, checking and activating of a "selected tab" for any page that wishes to provide navigation to "tab panels".

Since:
v6.1
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.atlassian.jira.web.action.JiraWebActionSupport
JiraWebActionSupport.MessageType
 
Nested classes/interfaces inherited from interface com.atlassian.jira.util.ErrorCollection
ErrorCollection.Reason
 
Nested classes/interfaces inherited from interface com.atlassian.jira.util.I18nHelper
I18nHelper.BeanFactory
 
Field Summary
protected  com.atlassian.plugin.PluginAccessor pluginAccessor
           
 
Fields inherited from class com.atlassian.jira.web.action.IssueActionSupport
attachmentManager
 
Fields inherited from class com.atlassian.jira.web.action.ProjectActionSupport
projectManager
 
Fields inherited from class com.atlassian.jira.web.action.JiraWebActionSupport
ISSUE_NOT_FOUND_RESULT, PERMISSION_VIOLATION_RESULT, request, RETURN_URL_PARAMETER, savedFilters
 
Fields inherited from class com.atlassian.jira.action.JiraActionSupport
log
 
Fields inherited from class webwork.action.ActionSupport
command, errorMap, errorMessages
 
Fields inherited from interface webwork.action.Action
ERROR, INPUT, LOGIN, NONE, SUCCESS
 
Constructor Summary
AbstractPluggableTabPanelAction(com.atlassian.plugin.PluginAccessor pluginAccessor)
           
 
Method Summary
protected  boolean canSeeTab(String tabKey)
           
 String getSelected()
           
protected  String getSelectedTab()
          Retrieve the name of the tab panel that is selected.
 TabPanelClass getSelectedTabPanel()
           
protected abstract  List<TabPanelClass> getTabPanelModuleDescriptors()
          Retrieves the tab panels for this page via the plugin accessor.
 List<TabPanelClass> getTabPanels()
           
protected  List<TabPanelClass> initTabPanels()
          Retrieves and initialises the tab panels via the plugin accessor
protected abstract  boolean isTabPanelHidden(TabPanelClass descriptor)
          Returns true if the tab panel of the given descriptor should be hidden from the current view
 void setPersistenceKey(String persistenceKey)
           
 void setSelectedTab(String selectedTab)
          Set the name of the selected tab.
 
Methods inherited from class com.atlassian.jira.web.action.IssueActionSupport
addIssueToHistory, clearSelectedIssue, getAttachmentManager, getCurrentFailedLoginCount, getCurrentJQL, getCustomFieldManager, getDaysPerWeek, getEverLoggedIn, getHoursPerDay, getIssueManager, getLastFailedLogin, getLastLogin, getLoginCount, getPossibleVersions, getPossibleVersionsReleasedFirst, getPrettyDuration, getPreviousLogin, getSearchRequest, getSelectedIssueId, getSessionPagerFilterManager, getSessionSearchRequestManager, getSessionSearchRequestManagerFactory, getSessionSelectedIssueManager, getTotalFailedLoginCount, getUrlEncoded, getWorkflow, getWorkflowTransitionDescription, getWorkflowTransitionDisplayName, isCustomFieldHidden, isElevatedSecurityCheckRequired, isFieldHidden, isFieldHidden, isTimeTrackingEnabled, setSearchRequest, setSelectedIssueId, updateSearchRequest
 
Methods inherited from class com.atlassian.jira.web.action.ProjectActionSupport
getBrowsableProjects, getBrowseableProjects, getSelectedProjectId, setSelectedProject, setSelectedProject
 
Methods inherited from class com.atlassian.jira.web.action.JiraWebActionSupport
addError, addErrorCollection, addErrorMessage, addErrorMessageByKeyIfAbsent, addErrorMessageIfAbsent, addMessageToResponse, addReason, addReasons, forceRedirect, getAdministratorContactLink, getApplicationProperties, getAuthorizationSupport, getConglomerateCookieValue, getConstantsManager, getDateFormat, getDateTimeFormat, getDateTimeFormatter, getDescTranslation, getDmyDateFormatter, getEmptyResponse, getErrorMessages, getErrors, getField, getFlushedErrorMessages, getGlobalPermissionManager, getHint, getHintManager, getHttpRequest, getHttpResponse, getHttpSession, getJiraContactHelper, getJiraServiceContext, getLanguage, getLoggedInApplicationUser, getLoggedInUser, getNameTranslation, getOutlookDate, getPermissionManager, getProjectManager, getRandomHint, getReasons, getRedirect, getRedirect, getRedirectSanitiser, getReturnUrl, getReturnUrlForCancelLink, getSearchSortDescriptions, getSelectedProject, getSelectedProjectObject, getServerId, getServletContext, getTimeFormat, getUriValidator, getUserFullName, getUserManager, getUserProjectHistoryManager, getVersionManager, getWebworkStack, getWebworkStack, getXsrfToken, hasErrorMessage, hasErrorMessageByKey, hasIssuePermission, hasPermission, hasProjectPermission, htmlEncode, insertContextPath, isHasIssuePermission, isHasIssuePermission, isHasPermission, isHasPermission, isHasPermission, isHasProjectPermission, isHasProjectPermission, isInlineDialogMode, isSystemAdministrator, isUserExists, isUserExistsByKey, isUserExistsByName, returnComplete, returnComplete, returnCompleteWithInlineRedirect, returnCompleteWithInlineRedirectAndMsg, returnCompleteWithInlineRedirectAndMsg, returnMsgToUser, returnMsgToUser, setConglomerateCookieValue, setInline, setReasons, setReturnUrl, setSelectedProjectId, urlEncode
 
Methods inherited from class com.atlassian.jira.action.JiraActionSupport
addErrorMessages, addErrorMessages, addErrors, addIllegalArgumentException, execute, getActionName, getComponentInstanceOfType, getDefaultResourceBundle, getDelegator, getI18nHelper, getKeysForPrefix, getLocale, getOfBizDelegator, getRemoteUser, getResourceBundle, getResult, getText, getText, getText, getText, getText, getText, getText, getText, getText, getText, getText, getText, getText, getText, getUnescapedText, getUntransformedRawText, getUserPreferences, getWatcherManager, hasAnyErrors, isIndexing, isKeyDefined, removeKeyOrAddError
 
Methods inherited from class webwork.action.ActionSupport
addError, addErrorMessage, doDefault, doExecute, doValidation, getCommandName, getHasErrorMessages, getHasErrors, getPropertyEditorMessage, getTexts, getTexts, getTimezone, invalidInput, invokeCommand, isCommand, setCommand, setErrorMessages, setErrors, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.atlassian.jira.util.ErrorCollection
addError, addErrorMessage, addErrorMessages, addErrors, hasAnyErrors, setErrorMessages
 
Methods inherited from interface webwork.action.CommandDriven
getCommandName, setCommand
 

Field Detail

pluginAccessor

protected final com.atlassian.plugin.PluginAccessor pluginAccessor
Constructor Detail

AbstractPluggableTabPanelAction

public AbstractPluggableTabPanelAction(com.atlassian.plugin.PluginAccessor pluginAccessor)
Method Detail

getTabPanels

public List<TabPanelClass> getTabPanels()
Returns:
A list of TabPanelClass objects, never null

initTabPanels

protected List<TabPanelClass> initTabPanels()
Retrieves and initialises the tab panels via the plugin accessor

Returns:
list of TabPanelClass objects, never null
Since:
v3.10

getTabPanelModuleDescriptors

protected abstract List<TabPanelClass> getTabPanelModuleDescriptors()
Retrieves the tab panels for this page via the plugin accessor. Used by initialisation method to collect the list of tab panels for this page


isTabPanelHidden

protected abstract boolean isTabPanelHidden(TabPanelClass descriptor)
                                     throws PermissionException
Returns true if the tab panel of the given descriptor should be hidden from the current view

Parameters:
descriptor - module descriptor
Returns:
true if hidden, false otherwise
Throws:
PermissionException - if project is invalid or not visible to the current user
Since:
v3.10

canSeeTab

protected boolean canSeeTab(String tabKey)

getSelectedTabPanel

public TabPanelClass getSelectedTabPanel()

getSelected

public String getSelected()

getSelectedTab

protected String getSelectedTab()
Retrieve the name of the tab panel that is selected. Protected because it's used in some error log messages.

Returns:
The complete module key of the selected tab. If no tab is currently selected, it will return the first available tab on the page. If there are no tabs to select, returns null.

setSelectedTab

public void setSelectedTab(String selectedTab)
Set the name of the selected tab. Used by JiraSafeActionParameterSetter.setActionProperty(java.lang.reflect.Method, webwork.action.Action, String[]).

Parameters:
selectedTab - a complete module descriptor key for the TabPanelClass to set as the selected tab.

setPersistenceKey

public void setPersistenceKey(@NotNull
                              String persistenceKey)


Copyright © 2002-2014 Atlassian. All Rights Reserved.