Class TaskAction
- java.lang.Object
-
- hudson.model.AbstractModelObject
-
- hudson.model.TaskAction
-
- All Implemented Interfaces:
Action
,ModelObject
,SearchableModelObject
,SearchItem
- Direct Known Subclasses:
AbstractScmTagAction
public abstract class TaskAction extends AbstractModelObject implements Action
PartialAction
implementation for those who kick some processing asynchronously (such as SCM tagging.)The class offers the basic set of functionality to do it.
- Since:
- 1.191
- Author:
- Kohsuke Kawaguchi
- See Also:
TaskThread
-
-
Field Summary
Fields Modifier and Type Field Description protected WeakReference<AnnotatedLargeText>
log
Hold the log of the tagging operation.protected TaskThread
workerThread
If non-null, that means either the activity is in progress asynchronously, or it failed unexpectedly and the thread is dead.
-
Constructor Summary
Constructors Constructor Description TaskAction()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
doClearError(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)
Clears the error status.void
doProgressiveHtml(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)
Handles incremental log output.void
doProgressiveLog(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)
Handles incremental log output.protected abstract ACL
getACL()
Gets theACL
against whichgetPermission()
is checked.abstract String
getIconFileName()
Gets the name of the icon.org.kohsuke.stapler.framework.io.LargeText
getLog()
Deprecated.as of 1.350 UseobtainLog()
, which returns the same object in a more type-safe signature.protected abstract Permission
getPermission()
Gets the permission object that represents the permission (againstgetACL()
) to perform this task.String
getSearchUrl()
Returns the URL of this item relative to the parentSearchItem
.TaskThread
getWorkerThread()
AnnotatedLargeText
obtainLog()
Obtains the log file.-
Methods inherited from class hudson.model.AbstractModelObject
getSearch, getSearchIndex, getSearchName, makeSearchIndex, requirePOST, sendError, sendError, sendError, sendError, sendError
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface hudson.model.Action
getDisplayName, getUrlName
-
-
-
-
Field Detail
-
workerThread
protected transient volatile TaskThread workerThread
If non-null, that means either the activity is in progress asynchronously, or it failed unexpectedly and the thread is dead.
-
log
protected transient WeakReference<AnnotatedLargeText> log
Hold the log of the tagging operation.
-
-
Method Detail
-
getPermission
protected abstract Permission getPermission()
Gets the permission object that represents the permission (againstgetACL()
) to perform this task. Generally your implementation ofgetIconFileName()
should return null if!getACL().hasPermission2(getPermission())
.
-
getACL
protected abstract ACL getACL()
Gets theACL
against whichgetPermission()
is checked.
-
getIconFileName
public abstract String getIconFileName()
Description copied from interface:Action
Gets the name of the icon.- Specified by:
getIconFileName
in interfaceAction
- Returns:
- If the icon name is prefixed with "symbol-", a Jenkins Symbol
will be used.
If just a file name (like "abc.gif") is returned, it will be interpreted as a file name inside
/images/24x24
. This is useful for using one of the stock images.If an absolute file name that starts from '/' is returned (like "/plugin/foo/abc.gif"), then it will be interpreted as a path from the context root of Jenkins. This is useful to pick up image files from a plugin.
Finally, return null to hide it from the task list. This is normally not very useful, but this can be used for actions that only contribute
floatBox.jelly
and no task list item. The other case where this is useful is to avoid showing links that require a privilege when the user is anonymous. - See Also:
getPermission()
-
getLog
@Deprecated public org.kohsuke.stapler.framework.io.LargeText getLog()
Deprecated.as of 1.350 UseobtainLog()
, which returns the same object in a more type-safe signature.
-
obtainLog
public AnnotatedLargeText obtainLog()
Obtains the log file.The default implementation get this from
workerThread
, so when it's complete, the log could be gone any time.Derived classes that persist the text should override this method so that it fetches the file from disk.
-
getSearchUrl
public String getSearchUrl()
Description copied from interface:SearchItem
Returns the URL of this item relative to the parentSearchItem
.- Specified by:
getSearchUrl
in interfaceSearchItem
- Returns:
- URL like "foo" or "foo/bar". The path can end with '/'. The path that starts with '/' will be interpreted as the absolute path (within the context path of Jenkins.)
-
getWorkerThread
public TaskThread getWorkerThread()
-
doProgressiveLog
public void doProgressiveLog(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) throws IOException
Handles incremental log output.- Throws:
IOException
-
doProgressiveHtml
public void doProgressiveHtml(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) throws IOException
Handles incremental log output.- Throws:
IOException
-
doClearError
public void doClearError(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) throws IOException, javax.servlet.ServletException
Clears the error status.- Throws:
IOException
javax.servlet.ServletException
-
-