## 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
`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
`SOS()`

Method Summary
`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`

### 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.