org.tmatesoft.svn.core.wc2

## Class SvnCat

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

All Implemented Interfaces:
  ISvnOperationOptionsProvider

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

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
`protected` `SvnCat(SvnOperationFactory factory)`

### Method Summary

Methods
`protected void` `ensureArgumentsAreValid()`
`java.io.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(java.io.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, getTargets, hasFileTargets, hasLocalTargets, hasRemoteTargets, initDefaults, isCancelled, isSleepForTimestamp, isUseParentWcFormat, needsHomohenousTargets, run, setApplicalbeChangelists, setDepth, setRevision, setSingleTarget, setSleepForTimestamp`

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

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

### Constructor Detail

#### SvnCat

    protected SvnCat(SvnOperationFactory factory)

### Method Detail

#### 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 java.io.OutputStream getOutput()

Gets the output stream of the operation.

Returns:
  output stream

#### setOutput

    public void setOutput(java.io.OutputStream output)

Sets the output stream of the operation.

Parameters:
  `output` - output stream

#### ensureArgumentsAreValid

    protected void ensureArgumentsAreValid()
                                    throws SVNException

Overrides:
  `ensureArgumentsAreValid` in class `SvnOperation<java.lang.Void>`
Throws:
  `SVNException`

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