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:
  java.lang.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
`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 and Description
`SOS()`

### Method Summary

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

#### commandLine

    protected Commandline commandLine

Commandline to be executed.

### Constructor Detail

#### SOS

    public SOS()

### Method Detail

#### 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(java.lang.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(java.lang.String username)

The SourceSafe username.

Parameters:
  `username` - The new username value.

#### setPassword

    public final void setPassword(java.lang.String password)

The SourceSafe password.

Parameters:
  `password` - The new password value.

#### setProjectPath

    public final void setProjectPath(java.lang.String projectpath)

The SourceSafe project path.

Parameters:
  `projectpath` - The new projectpath value.

#### setVssServerPath

    public final void setVssServerPath(java.lang.String vssServerPath)

The path to the location of the ss.ini file.

Parameters:
  `vssServerPath` - The new vssServerPath value.

#### setSosHome

    public final void setSosHome(java.lang.String sosHome)

Path to the SourceOffSite home directory.

Parameters:
  `sosHome` - The new sosHome value.

#### setSosServerPath

    public final void setSosServerPath(java.lang.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(java.lang.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(java.lang.String text)

Set the comment text.

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

#### setInternalLabel

    protected void setInternalLabel(java.lang.String text)

Set the label.

Parameters:
  `text` - the label to use.

#### setInternalVersion

    protected void setInternalVersion(java.lang.String text)

Set the version.

Parameters:
  `text` - the version to use.

#### getSosCommand

    protected java.lang.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 java.lang.String getComment()

Get the comment

Returns:
  if it was set, null if not.

#### getVersion

    protected java.lang.String getVersion()

Get the version

Returns:
  if it was set, null if not.

#### getLabel

    protected java.lang.String getLabel()

Get the label

Returns:
  if it was set, null if not.

#### getUsername

    protected java.lang.String getUsername()

Get the username

Returns:
  if it was set, null if not.

#### getPassword

    protected java.lang.String getPassword()

Get the password

Returns:
  empty string if it wasn't set.

#### getProjectPath

    protected java.lang.String getProjectPath()

Get the project path

Returns:
  if it was set, null if not.

#### getVssServerPath

    protected java.lang.String getVssServerPath()

Get the VSS server path

Returns:
  if it was set, null if not.

#### getSosHome

    protected java.lang.String getSosHome()

Get the SOS home directory.

Returns:
  if it was set, null if not.

#### getSosServerPath

    protected java.lang.String getSosServerPath()

Get the SOS serve path.

Returns:
  if it was set, null if not.

#### getFilename

    protected java.lang.String getFilename()

Get the filename to be acted upon.

Returns:
  if it was set, null if not.

#### getNoCompress

    protected java.lang.String getNoCompress()

Get the NoCompress flag.

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

#### getNoCache

    protected java.lang.String getNoCache()

Get the NoCache flag.

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

#### getVerbose

    protected java.lang.String getVerbose()

Get the 'verbose' Flag.

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

#### getRecursive

    protected java.lang.String getRecursive()

Get the 'recursive' Flag.

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

#### getLocalPath

    protected java.lang.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.