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.