Package org.tmatesoft.svn.core.wc

# Class SVNCopySource

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

public class SVNCopySource extends 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
Description
`SVNCopySource(SVNRevision pegRevision, SVNRevision revision, File path)`
Creates a new `SVNCopySource` object.
`SVNCopySource(SVNRevision pegRevision, SVNRevision revision, SVNURL url)`
Creates a new `SVNCopySource` object.

## Method Summary

Modifier and Type
Method
Description
`File`
`getFile()`
Returns the working copy path.
`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 Details

### SVNCopySource

public SVNCopySource(SVNRevision pegRevision, SVNRevision revision, 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 Details

### getFile

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