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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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, 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 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<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`