Package org.apache.tools.ant.taskdefs.optional.sos

# Class SOS

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.optional.sos.SOS

All Implemented Interfaces:
  `Cloneable`, `SOSCmd`

Direct Known Subclasses:
  `SOSCheckin`, `SOSCheckout`, `SOSGet`, `SOSLabel`

public abstract class SOS extends Task implements SOSCmd
A base class for creating tasks for executing commands on SourceOffSite. These tasks were inspired by the VSS tasks.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Commandline`
`commandLine`
Commandline to be executed.

### Fields inherited from class org.apache.tools.ant.Task

`target, taskName, taskType, wrapper`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

### Fields inherited from interface org.apache.tools.ant.taskdefs.optional.sos.SOSCmd

`COMMAND_CHECKIN_FILE, COMMAND_CHECKIN_PROJECT, COMMAND_CHECKOUT_FILE, COMMAND_CHECKOUT_PROJECT, COMMAND_GET_FILE, COMMAND_GET_PROJECT, COMMAND_HISTORY, COMMAND_LABEL, COMMAND_SOS_EXE, FLAG_COMMAND, FLAG_COMMENT, FLAG_FILE, FLAG_LABEL, FLAG_NO_CACHE, FLAG_NO_COMPRESSION, FLAG_PASSWORD, FLAG_PROJECT, FLAG_RECURSION, FLAG_SOS_HOME, FLAG_SOS_SERVER, FLAG_USERNAME, FLAG_VERBOSE, FLAG_VERSION, FLAG_VSS_SERVER, FLAG_WORKING_DIR, PROJECT_PREFIX`

## Constructor Summary

Constructors
Constructor
Description
`SOS()`

## Method Summary

Modifier and Type
Method
Description
`void`
`execute()`
Execute the created command line.
`protected String`
`getComment()`
Get the comment
`protected String`
`getFilename()`
Get the filename to be acted upon.
`protected String`
`getLabel()`
Get the label
`protected String`
`getLocalPath()`
Builds and returns the working directory.
`protected String`
`getNoCache()`
Get the NoCache flag.
`protected String`
`getNoCompress()`
Get the NoCompress flag.
`protected void`
`getOptionalAttributes()`
Adds the optional attributes to the command line.
`protected String`
`getPassword()`
Get the password
`protected String`
`getProjectPath()`
Get the project path
`protected String`
`getRecursive()`
Get the 'recursive' Flag.
`protected void`
`getRequiredAttributes()`
Sets the executable and add the required attributes to the command line.
`protected String`
`getSosCommand()`
Get the executable to run.
`protected String`
`getSosHome()`
Get the SOS home directory.
`protected String`
`getSosServerPath()`
Get the SOS serve path.
`protected String`
`getUsername()`
Get the username
`protected String`
`getVerbose()`
Get the 'verbose' Flag.
`protected String`
`getVersion()`
Get the version
`protected String`
`getVssServerPath()`
Get the VSS server path
`protected int`
`run(Commandline cmd)`
Execute the created command line.
`protected void`
`setInternalComment(String text)`
Set the comment text.
`protected void`
`setInternalFilename(String file)`
Set the file name.
`protected void`
`setInternalLabel(String text)`
Set the label.
`protected void`
`setInternalRecursive(boolean recurse)`
Set the recursive flag.
`protected void`
`setInternalVersion(String text)`
Set the version.
`final void`
`setLocalPath(Path path)`
Override the working directory and get to the specified path.
`final void`
`setNoCache(boolean nocache)`
Flag to disable the cache when set.
`final void`
`setNoCompress(boolean nocompress)`
Flag to disable compression when set.
`final void`
`setPassword(String password)`
The SourceSafe password.
`final void`
`setProjectPath(String projectpath)`
The SourceSafe project path.
`final void`
`setSosCmd(String dir)`
The directory where soscmd(.exe) is located.
`final void`
`setSosHome(String sosHome)`
Path to the SourceOffSite home directory.
`final void`
`setSosServerPath(String sosServerPath)`
The address and port of SourceOffSite Server, for example 192.168.0.1:8888.
`final void`
`setUsername(String username)`
The SourceSafe username.
`void`
`setVerbose(boolean verbose)`
Enable verbose output.
`final void`
`setVssServerPath(String vssServerPath)`
The path to the location of the ss.ini file.

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### commandLine

protected Commandline commandLine
Commandline to be executed.

## Constructor Details

### SOS

public SOS()

## Method Details

### setNoCache

public final void setNoCache(boolean nocache)
Flag to disable the cache when set. Required if SOSHOME is set as an environment variable. Defaults to false.

Parameters:
  `nocache` - True to disable caching.

### setNoCompress

public final void setNoCompress(boolean nocompress)
Flag to disable compression when set. Defaults to false.

Parameters:
  `nocompress` - True to disable compression.

### setSosCmd

public final void setSosCmd(String dir)
The directory where soscmd(.exe) is located. soscmd must be on the path if omitted.

Parameters:
  `dir` - The new sosCmd value.

### setUsername

public final void setUsername(String username)
The SourceSafe username.

Parameters:
  `username` - The new username value.

### setPassword

public final void setPassword(String password)
The SourceSafe password.

Parameters:
  `password` - The new password value.

### setProjectPath

public final void setProjectPath(String projectpath)
The SourceSafe project path.

Parameters:
  `projectpath` - The new projectpath value.

### setVssServerPath

public final void setVssServerPath(String vssServerPath)
The path to the location of the ss.ini file.

Parameters:
  `vssServerPath` - The new vssServerPath value.

### setSosHome

public final void setSosHome(String sosHome)
Path to the SourceOffSite home directory.

Parameters:
  `sosHome` - The new sosHome value.

### setSosServerPath

public final void setSosServerPath(String sosServerPath)
The address and port of SourceOffSite Server, for example 192.168.0.1:8888.

Parameters:
  `sosServerPath` - The new sosServerPath value.

### setLocalPath

public final void setLocalPath(Path path)
Override the working directory and get to the specified path.

Parameters:
  `path` - The new localPath value.

### setVerbose

public void setVerbose(boolean verbose)
Enable verbose output. Defaults to false.

Parameters:
  `verbose` - True for verbose output.

### setInternalFilename

protected void setInternalFilename(String file)
Set the file name.

Parameters:
  `file` - the filename to use.

### setInternalRecursive

protected void setInternalRecursive(boolean recurse)
Set the recursive flag.

Parameters:
  `recurse` - if true use the recursive flag on the command line.

### setInternalComment

protected void setInternalComment(String text)
Set the comment text.

Parameters:
  `text` - the comment text to use.

### setInternalLabel

protected void setInternalLabel(String text)
Set the label.

Parameters:
  `text` - the label to use.

### setInternalVersion

protected void setInternalVersion(String text)
Set the version.

Parameters:
  `text` - the version to use.

### getSosCommand

protected String getSosCommand()
Get the executable to run. Add the path if it was specified in the build file

Returns:
  the executable to run.

### getComment

protected String getComment()
Get the comment

Returns:
  if it was set, null if not.

### getVersion

protected String getVersion()
Get the version

Returns:
  if it was set, null if not.

### getLabel

protected String getLabel()
Get the label

Returns:
  if it was set, null if not.

### getUsername

protected String getUsername()
Get the username

Returns:
  if it was set, null if not.

### getPassword

protected String getPassword()
Get the password

Returns:
  empty string if it wasn't set.

### getProjectPath

protected String getProjectPath()
Get the project path

Returns:
  if it was set, null if not.

### getVssServerPath

protected String getVssServerPath()
Get the VSS server path

Returns:
  if it was set, null if not.

### getSosHome

protected String getSosHome()
Get the SOS home directory.

Returns:
  if it was set, null if not.

### getSosServerPath

protected String getSosServerPath()
Get the SOS serve path.

Returns:
  if it was set, null if not.

### getFilename

protected String getFilename()
Get the filename to be acted upon.

Returns:
  if it was set, null if not.

### getNoCompress

protected String getNoCompress()
Get the NoCompress flag.

Returns:
  the 'nocompress' Flag if the attribute was 'true', otherwise an empty string.

### getNoCache

protected String getNoCache()
Get the NoCache flag.

Returns:
  the 'nocache' Flag if the attribute was 'true', otherwise an empty string.

### getVerbose

protected String getVerbose()
Get the 'verbose' Flag.

Returns:
  the 'verbose' Flag if the attribute was 'true', otherwise an empty string.

### getRecursive

protected String getRecursive()
Get the 'recursive' Flag.

Returns:
  the 'recursive' Flag if the attribute was 'true', otherwise an empty string.

### getLocalPath

protected String getLocalPath()
Builds and returns the working directory.

The localpath is created if it didn't exist.

Returns:
  the absolute path of the working directory.

### execute

public void execute() throws BuildException
Execute the created command line.

Overrides:
  `execute` in class `Task`
Throws:
  `BuildException` - on error.

### run

protected int run(Commandline cmd)
Execute the created command line.

Parameters:
  `cmd` - The command line to run.
Returns:
  int the exit code.
Throws:
  `BuildException` - if something goes wrong

### getRequiredAttributes

protected void getRequiredAttributes()
Sets the executable and add the required attributes to the command line.

### getOptionalAttributes

protected void getOptionalAttributes()
Adds the optional attributes to the command line.