hudson
Class WorkspaceSnapshot

java.lang.Object
  extended by hudson.WorkspaceSnapshot
All Implemented Interfaces:
Action, ModelObject
Direct Known Subclasses:
FileSystemProvisioner.Default.WorkspaceSnapshotImpl

public abstract class WorkspaceSnapshot
extends Object
implements Action

Represents a workspace snapshot created by FileSystemProvisioner.

This class encapsulates a logic to use the snapshot elsewhere. The instance will be persisted with the AbstractBuild object as an Action.

TODO: how to garbage-collect this object, especially for zfs? perhaps when a new build is started?

Author:
Kohsuke Kawaguchi
See Also:
FileSystemProvisioner

Constructor Summary
WorkspaceSnapshot()
           
 
Method Summary
 String getDisplayName()
          Gets the string to be displayed.
 String getIconFileName()
          Gets the file name of the icon.
 String getUrlName()
          Gets the URL path name.
abstract  void restoreTo(AbstractBuild<?,?> owner, FilePath dst, TaskListener listener)
          Restores the snapshot to the given file system location.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WorkspaceSnapshot

public WorkspaceSnapshot()
Method Detail

restoreTo

public abstract void restoreTo(AbstractBuild<?,?> owner,
                               FilePath dst,
                               TaskListener listener)
                        throws IOException,
                               InterruptedException
Restores the snapshot to the given file system location.

Parameters:
owner - The build that owns this action. It's always the same value for any given WorkspaceSnapshot, but passed in separately so that implementations don't need to keep them in fields.
dst - The file path to which the snapshot shall be restored to.
listener - Send the progress of the restoration to this listener. Never null.
Throws:
IOException
InterruptedException

getIconFileName

public String getIconFileName()
Description copied from interface: Action
Gets the file name of the icon.

Specified by:
getIconFileName in interface Action
Returns:
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:
Functions.isAnonymous(), Functions.getIconFilePath(Action)

getDisplayName

public String getDisplayName()
Description copied from interface: Action
Gets the string to be displayed. The convention is to capitalize the first letter of each word, such as "Test Result".

Specified by:
getDisplayName in interface Action
Specified by:
getDisplayName in interface ModelObject

getUrlName

public String getUrlName()
Description copied from interface: Action
Gets the URL path name.

tions For example, if this method returns "xyz", and if the parent object (that this action is associated with) is bound to /foo/bar/zot, then this action object will be exposed to /foo/bar/zot/xyz.

This method should return a string that's unique among other Actions.

The returned string can be an absolute URL, like "http://www.sun.com/", which is useful for directly connecting to external systems.

If the returned string starts with '/', like '/foo', then it's assumed to be relative to the context path of the Jenkins webapp.

Specified by:
getUrlName in interface Action
Returns:
null if this action object doesn't need to be bound to web (when you do that, be sure to also return null from Action.getIconFileName().
See Also:
Functions.getActionUrl(String, Action)


Copyright © 2004-2013. All Rights Reserved.