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
PartialActionimplementation 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>logHold the log of the tagging operation.protected TaskThreadworkerThreadIf 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 voiddoClearError(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)Clears the error status.voiddoProgressiveHtml(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)Handles incremental log output.voiddoProgressiveLog(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)Handles incremental log output.protected abstract ACLgetACL()Gets theACLagainst whichgetPermission()is checked.abstract StringgetIconFileName()Gets the name of the icon.org.kohsuke.stapler.framework.io.LargeTextgetLog()Deprecated.as of 1.350 UseobtainLog(), which returns the same object in a more type-safe signature.protected abstract PermissiongetPermission()Gets the permission object that represents the permission (againstgetACL()) to perform this task.StringgetSearchUrl()Returns the URL of this item relative to the parentSearchItem.TaskThreadgetWorkerThread()AnnotatedLargeTextobtainLog()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 theACLagainst whichgetPermission()is checked.
-
getIconFileName
public abstract String getIconFileName()
Description copied from interface:ActionGets the name of the icon.- Specified by:
getIconFileNamein 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.jellyand 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:SearchItemReturns the URL of this item relative to the parentSearchItem.- Specified by:
getSearchUrlin 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 IOExceptionHandles incremental log output.- Throws:
IOException
-
doProgressiveHtml
public void doProgressiveHtml(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) throws IOExceptionHandles incremental log output.- Throws:
IOException
-
doClearError
public void doClearError(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) throws IOException, javax.servlet.ServletExceptionClears the error status.- Throws:
IOExceptionjavax.servlet.ServletException
-
-