org.tmatesoft.svn.core.wc

## Class SVNCopySource

- java.lang.Object
- - org.tmatesoft.svn.core.wc.SVNCopySource

    public class SVNCopySource
    extends java.lang.Object

The SVNCopySource class is used to provide copy source information in copy operations.

Since:
  1.2
Version:
  1.3
Author:
  TMate Software Ltd.

### Constructor Summary

Constructors
Constructor and Description
`SVNCopySource(SVNRevision pegRevision, SVNRevision revision, java.io.File path)` Creates a new `SVNCopySource` object.
`SVNCopySource(SVNRevision pegRevision, SVNRevision revision, SVNURL url)` Creates a new `SVNCopySource` object.

### Method Summary

Methods
`java.io.File` `getFile()` Returns the working copy path.
`java.lang.String` `getName()` Returns the name of this copy source.
`SVNRevision` `getPegRevision()` Returns the peg revision of the source.
`SVNRevision` `getRevision()` Returns the revision of the source.
`SVNURL` `getURL()` Returns the repository url of the source.
`boolean` `isCopyContents()` Tells whether the contents of this copy source should be copied rather than the copy source itself.
`boolean` `isURL()` Tells if this copy source is url.
`void` `setCopyContents(boolean copyContents)` Sets whether to expand this copy source to its contents or not.

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

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

### Constructor Detail

#### SVNCopySource

    public SVNCopySource(SVNRevision pegRevision,
                 SVNRevision revision,
                 java.io.File path)

Creates a new `SVNCopySource` object.

Parameters:
  `pegRevision` - peg revision where `path` is valid
  `revision` - revision of `path`
  `path` - working copy path

#### SVNCopySource

    public SVNCopySource(SVNRevision pegRevision,
                 SVNRevision revision,
                 SVNURL url)

Creates a new `SVNCopySource` object.

Parameters:
  `pegRevision` - peg revision where `url` is valid
  `revision` - revision of `url`
  `url` - repository url

### Method Detail

#### getFile

    public java.io.File getFile()

Returns the working copy path.

Returns:
  working copy path; null if it's a url source.

#### getPegRevision

    public SVNRevision getPegRevision()

Returns the peg revision of the source.

Returns:
  peg revision

#### getRevision

    public SVNRevision getRevision()

Returns the revision of the source.

Returns:
  source revision

#### getURL

    public SVNURL getURL()

Returns the repository url of the source.

Returns:
  repository url; null if it's a local source.

#### isURL

    public boolean isURL()

Tells if this copy source is url.

Returns:
  true if `getURL()` returns non-null; otherwise false (`returns non-null`)

#### getName

    public java.lang.String getName()

Returns the name of this copy source.

Returns:
  copy source name

#### setCopyContents

    public void setCopyContents(boolean copyContents)

Sets whether to expand this copy source to its contents or not.

Parameters:
  `copyContents` - true to expand; otherwise false
See Also:
  `isCopyContents()`

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