Package org.tmatesoft.svn.core.wc2

## Class SvnCopySource

- java.lang.Object
- - org.tmatesoft.svn.core.wc2.SvnObject
  - - org.tmatesoft.svn.core.wc2.SvnCopySource

-     public class SvnCopySource
      extends SvnObject

  Provides copy source information in copy operations.
  Version:
    1.7
  Author:
    TMate Software Ltd.
  See Also:
    `SvnCopy`

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static SvnCopySource` | `create​(SvnTarget source, SVNRevision revision)` | Creates a new `SvnCopySource` object and initializes its fields.
    `boolean` | `equals​(java.lang.Object obj)` |
    `SVNRevision` | `getRevision()` | Returns the revision of the source.
    `SvnTarget` | `getSource()` | Returns the copy source target, can be working copy file or URL with optional `pegRevision`.
    `int` | `hashCode()` |
    `boolean` | `isCopyContents()` | Tells whether the contents of this copy source should be copied rather than the copy source itself.
    `boolean` | `isLocal()` | Calculates whether `source` is local and `revision` is local.
    `void` | `setCopyContents​(boolean copyContents)` | Sets whether to expand this copy source to its contents or not.
    `java.lang.String` | `toString()` | Returns `String` representation of the object

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

      `getUserData, setUserData`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### create

          public static SvnCopySource create​(SvnTarget source,
                                             SVNRevision revision)

      Creates a new `SvnCopySource` object and initializes its fields.
      Parameters:
        `source` - source target with optional `pegRevision`, can be file or URL
        `revision` - revision of `target`

    - #### isLocal

          public boolean isLocal()

      Calculates whether `source` is local and `revision` is local.
      Returns:
        `true` if the `source` and `revision` are local, otherwise `false`

    - #### getSource

          public SvnTarget getSource()

      Returns the copy source target, can be working copy file or URL with optional `pegRevision`.
      Returns:
        copy source target

    - #### getRevision

          public SVNRevision getRevision()

      Returns the revision of the source.
      Returns:
        source revision

    - #### isCopyContents

          public boolean isCopyContents()

      Tells whether the contents of this copy source should be copied rather than the copy source itself. This is relevant only for directory copy sources. If a user `specifies` to copy contents of a file he will get an `SVNException`. So, if this copy source represents a directory and if this method returns `true`, children of this copy source directory will be copied to the target instead of the copy source.
      Returns:
        `true` to expand copy source to children; otherwise `false`

    - #### setCopyContents

          public void setCopyContents​(boolean copyContents)

      Sets whether to expand this copy source to its contents or not.
      Parameters:
        `copyContents` - `true` to expand copy source to children; otherwise `false`
      See Also:
        `isCopyContents()`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### equals

          public boolean equals​(java.lang.Object obj)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Returns `String` representation of the object
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        object as `String`