org.tmatesoft.svn.core.wc2

## Class SvnScheduleForAddition

- java.lang.Object
- - org.tmatesoft.svn.core.wc2.SvnOperation<java.lang.Void>
  - - org.tmatesoft.svn.core.wc2.SvnScheduleForAddition

- All Implemented Interfaces:
    ISvnOperationOptionsProvider

      public class SvnScheduleForAddition
      extends SvnOperation<java.lang.Void>

  Represents add operation. Schedules working copy `targets` for addition to the repository.

  If `depth` is `SVNDepth.EMPTY`, adds just `targets` and nothing below it. If `SVNDepth.FILES`, adds `targets` and any file children of `targets`. If `SVNDepth.IMMEDIATES`, adds `targets`, any file children, and any immediate subdirectories (but nothing underneath those subdirectories). If `SVNDepth.INFINITY`, adds `targets` and everything under it fully recursively.

  `targets`' parent must be under revision control already (unless `makeParents` is `true`), but `targets` are not.

  If `force` is set, `target` is a directory, `depth` is `SVNDepth.INFINITY`, then schedules for addition unversioned files and directories scattered deep within a versioned tree.

  If `includeIgnored` is `false`, doesn't add files or directories that match ignore patterns.

  If `makeParents` is `true`, recurse up path's directory and look for a versioned directory. If found, add all intermediate paths between it and the path.

  Important: this is a *scheduling* operation. No changes will happen to the repository until a commit occurs. This scheduling can be removed with `SvnRevert` operation.

  `SvnOperation.run()` method throws `SVNException` in the following cases:
  exception with `SVNErrorCode.ENTRY_EXISTS` error code - if `force` is not set and a path is already under version
  exception with `SVNErrorCode.CLIENT_NO_VERSIONED_PARENT` error code - if `makeParents` is `true` but no unversioned paths stepping upper from a path are found
  Version:
    1.7
  Author:
    TMate Software Ltd.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `SvnScheduleForAddition(SvnOperationFactory factory)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ISvnAddParameters` | `getAddParameters()` Returns operation's add parameters, whose controls inconsistent EOL's.
    `protected int` | `getMaximumTargetsCount()`
    `protected void` | `initDefaults()`
    `boolean` | `isAddParents()` Returns whether to recurse up path's directory and look for a versioned directory.
    `boolean` | `isApplyAutoProperties()`
    `boolean` | `isChangesWorkingCopy()` Gets whether the operation changes working copy
    `boolean` | `isForce()` Returns whether to throw exceptions on already-versioned items
    `boolean` | `isIncludeIgnored()` Return whether to add files or directories that match ignore patterns.
    `boolean` | `isMkDir()` Returns whether a directory at `target`'s path also should be created
    `boolean` | `isUseParentWcFormat()` Gets whether or not to use parent working copy format.
    `void` | `setAddParameters(ISvnAddParameters addParameters)` Sets operation's add parameters, whose controls inconsistent EOL's.
    `void` | `setAddParents(boolean addParents)` Sets whether to recurse up path's directory and look for a versioned directory.
    `void` | `setApplyAutoProperties(boolean applyAutoProperties)`
    `void` | `setForce(boolean force)` Sets whether to throw exceptions on already-versioned items
    `void` | `setIncludeIgnored(boolean includeIgnored)` Sets whether to add files or directories that match ignore patterns.
    `void` | `setMkDir(boolean mkDir)` Sets whether a directory at `target`'s path also should be created

    - ### Methods inherited from class org.tmatesoft.svn.core.wc2.SvnOperation

      `addTarget, cancel, ensureArgumentsAreValid, ensureEnoughTargets, ensureHomohenousTargets, getApplicableChangelists, getAuthenticationManager, getCanceller, getDepth, getEventHandler, getFirstTarget, getMinimumTargetsCount, getOperationalWorkingCopy, getOperationFactory, getOptions, getRepositoryPool, getRevision, getSqliteJournalMode, getTargets, hasFileTargets, hasLocalTargets, hasRemoteTargets, isCancelled, isSleepForTimestamp, needsHomohenousTargets, run, setApplicalbeChangelists, setDepth, setRevision, setSingleTarget, setSleepForTimestamp, setSqliteJournalMode`

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

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

- - ### Constructor Detail

    - #### SvnScheduleForAddition

          protected SvnScheduleForAddition(SvnOperationFactory factory)

  - ### Method Detail

    - #### initDefaults

          protected void initDefaults()

      Overrides:
        `initDefaults` in class `SvnOperation<java.lang.Void>`

    - #### isForce

          public boolean isForce()

      Returns whether to throw exceptions on already-versioned items
      Returns:
        `true` if operation does not throw exceptions on already-versioned items, `false` if exception should be thrown

    - #### isIncludeIgnored

          public boolean isIncludeIgnored()

      Return whether to add files or directories that match ignore patterns.
      Returns:
        `true` if ignore patterns should not be applied to paths being added, otherwise `false`

    - #### isApplyAutoProperties

          public boolean isApplyAutoProperties()

    - #### isAddParents

          public boolean isAddParents()

      Returns whether to recurse up path's directory and look for a versioned directory. If found, add all intermediate paths between it and the path.
      Returns:
        `true` if operation should climb upper and schedule also all unversioned paths in the way

    - #### setForce

          public void setForce(boolean force)

      Sets whether to throw exceptions on already-versioned items
      Parameters:
        `force` - `true` if operation does not throw exceptions on already-versioned items, `false` if exception should be thrown

    - #### setIncludeIgnored

          public void setIncludeIgnored(boolean includeIgnored)

      Sets whether to add files or directories that match ignore patterns.
      Parameters:
        `includeIgnored` - `true` if ignore patterns should not be applied to paths being added, otherwise `false`

    - #### setApplyAutoProperties

          public void setApplyAutoProperties(boolean applyAutoProperties)

    - #### setAddParents

          public void setAddParents(boolean addParents)

      Sets whether to recurse up path's directory and look for a versioned directory. If found, add all intermediate paths between it and the path.
      Parameters:
        `addParents` - `true` if operation should climb upper and schedule also all unversioned paths in the way

    - #### isMkDir

          public boolean isMkDir()

      Returns whether a directory at `target`'s path also should be created
      Returns:
        `true`, if a directory at `target`'s path also should be created

    - #### setMkDir

          public void setMkDir(boolean mkDir)

      Sets whether a directory at `target`'s path also should be created
      Parameters:
        `mkDir` - `true`, if a directory at `target`'s path also should be created

    - #### getMaximumTargetsCount

          protected int getMaximumTargetsCount()

      Overrides:
        `getMaximumTargetsCount` in class `SvnOperation<java.lang.Void>`

    - #### isUseParentWcFormat

          public boolean isUseParentWcFormat()

      Description copied from class: `SvnOperation`
      Gets whether or not to use parent working copy format.
      Overrides:
        `isUseParentWcFormat` in class `SvnOperation<java.lang.Void>`
      Returns:
        `true` if parent working copy format should be used, otherwise `false`

    - #### getAddParameters

          public ISvnAddParameters getAddParameters()

      Returns operation's add parameters, whose controls inconsistent EOL's.
      Returns:
        add parameters of the operation
      See Also:
        `ISvnAddParameters`

    - #### setAddParameters

          public void setAddParameters(ISvnAddParameters addParameters)

      Sets operation's add parameters, whose controls inconsistent EOL's.
      Parameters:
        `addParameters` - add parameters of the operation
      See Also:
        `ISvnAddParameters`

    - #### isChangesWorkingCopy

          public boolean isChangesWorkingCopy()

      Gets whether the operation changes working copy
      Overrides:
        `isChangesWorkingCopy` in class `SvnOperation<java.lang.Void>`
      Returns:
        `true` if the operation changes the working copy, otherwise `false`