Package org.tmatesoft.svn.core.wc2

# Class SvnCat

java.lang.Object
org.tmatesoft.svn.core.wc2.SvnOperation<SVNProperties>
org.tmatesoft.svn.core.wc2.SvnCat

All Implemented Interfaces:
  `ISvnOperationOptionsProvider`

public class SvnCat extends SvnOperation<SVNProperties>
Represents cat operation. Outputs the content of file identified by `target` and revision to the output streams.

The actual node revision selected is determined by the `target` as it exists in `target`'s `pegRevision`. If `target` is URL and its `pegRevision` is `SVNRevision.UNDEFINED`, then it defaults to `SVNRevision.HEAD`. If `target` is local and its `pegRevision` is `SVNRevision.UNDEFINED`, then it defaults to `SVNRevision.WORKING`.

If `revision` is one of:

- `SVNRevision.BASE`
- `SVNRevision.WORKING`
- `SVNRevision.COMMITTED`

then the file contents are taken from the working copy file item (no network connection is needed). Otherwise the file item's contents are taken from the repository at a particular revision. `SvnOperation.run()` throws `SVNException` in the following cases:

- exception with `SVNErrorCode.CLIENT_IS_DIRECTORY` error code - if `target` refers to a directory
- exception with `SVNErrorCode.UNVERSIONED_RESOURCE` error code - if `target` is not under version control
- it's impossible to create temporary files ( `createTempFile()`fails) necessary for file translating (used when `target` is URL)

Version:
  1.7
Author:
  TMate Software Ltd.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SvnCat(SvnOperationFactory factory)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`ensureArgumentsAreValid()`
`OutputStream`
`getOutput()`
Gets the output stream of the operation.
`boolean`
`isChangesWorkingCopy()`
Gets whether the operation changes working copy
`boolean`
`isExpandKeywords()`
Gets whether or not all keywords presenting in the file and listed in the file's `SVNProperty.KEYWORDS`property (if set) should be substituted.
`void`
`setExpandKeywords(boolean expandKeywords)`
Sets whether or not all keywords presenting in the file and listed in the file's `SVNProperty.KEYWORDS`property (if set) should be substituted.
`void`
`setOutput(OutputStream output)`
Sets the output stream of the operation.

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

`addTarget, cancel, ensureEnoughTargets, ensureHomohenousTargets, getApplicableChangelists, getAuthenticationManager, getCanceller, getDepth, getEventHandler, getFirstTarget, getMaximumTargetsCount, getMinimumTargetsCount, getOperationalWorkingCopy, getOperationFactory, getOptions, getRepositoryPool, getRevision, getSqliteJournalMode, getTargets, hasFileTargets, hasLocalTargets, hasRemoteTargets, initDefaults, isCancelled, isSleepForTimestamp, isUseParentWcFormat, 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 Details

### SvnCat

protected SvnCat(SvnOperationFactory factory)

## Method Details

### isExpandKeywords

public boolean isExpandKeywords()
Gets whether or not all keywords presenting in the file and listed in the file's `SVNProperty.KEYWORDS`property (if set) should be substituted.

Returns:
  `true` if keywords should expanded, otherwise `false`

### setExpandKeywords

public void setExpandKeywords(boolean expandKeywords)
Sets whether or not all keywords presenting in the file and listed in the file's `SVNProperty.KEYWORDS`property (if set) should be substituted.

Parameters:
  `expandKeywords` - `true` if keywords should expanded, otherwise `false`

### getOutput

public OutputStream getOutput()
Gets the output stream of the operation.

Returns:
  output stream

### setOutput

public void setOutput(OutputStream output)
Sets the output stream of the operation.

Parameters:
  `output` - output stream

### ensureArgumentsAreValid

protected void ensureArgumentsAreValid() throws SVNException

Overrides:
  `ensureArgumentsAreValid` in class `SvnOperation<SVNProperties>`
Throws:
  `SVNException`

### isChangesWorkingCopy

public boolean isChangesWorkingCopy()
Gets whether the operation changes working copy

Overrides:
  `isChangesWorkingCopy` in class `SvnOperation<SVNProperties>`
Returns:
  `true` if the operation changes the working copy, otherwise `false`