Package org.tmatesoft.svn.core.wc2

# Class SvnAnnotate

java.lang.Object
org.tmatesoft.svn.core.wc2.SvnOperation<T>
org.tmatesoft.svn.core.wc2.SvnReceivingOperation<SvnAnnotateItem>
org.tmatesoft.svn.core.wc2.SvnAnnotate

All Implemented Interfaces:
  `ISvnObjectReceiver<SvnAnnotateItem>`, `ISvnOperationOptionsProvider`

public class SvnAnnotate extends SvnReceivingOperation<SvnAnnotateItem>
Represents annotate operation. Obtains and reports annotation information for each line-blame item associated with revision `endRevision` of `target`, using `startRevision` as the default source of all blame. Passes annotation information to a annotation handler if provided.

`Target` can represent URL or working copy path (used to get corresponding URLs).

`Target`'s `pegRevision` indicates in which revision `target` is valid. If `pegRevision` is `SVNRevision.UNDEFINED`, then it defaults to `SVNRevision.HEAD`.

- If working copy is SVN 1.7 working copy:

  If `endRevision` is `SVNRevision.UNDEFINED`, then it defaults to `SVNRevision.HEAD` if `target` is URL or `SVNRevision.WORKING` if `target` is working copy path.
- If working copy is SVN 1.6 working copy:

  If `startRevision` is `null` or `invalid`, then it defaults to revision 1. If `endRevision` is `null` or `invalid`, then it defaults to `target`'s `pegRevision`.

Note: this operation requires repository access.

`SvnOperation.run()` method returns `SvnAnnotateItem` information reported by the operation. `SvnOperation.run()` throws `SVNException` in the following cases:

exception with `SVNErrorCode.CLIENT_BAD_REVISION` error code - if `startRevision` is older than `endRevision`
exception with `SVNErrorCode.CLIENT_BAD_REVISION` error code - if both `startRevision` and `endRevision` are either `null` or `invalid`
exception with `SVNErrorCode.CLIENT_IS_BINARY_FILE` error code - if any of the revisions of `target`'s path have a binary mime-type, unless `ignoreMimeType` is `true`, in which case blame information will be generated regardless of the MIME types of the revisions
exception with `SVNErrorCode.UNSUPPORTED_FEATURE` error code - if either `startRevision` or `endRevision` is `SVNRevision.WORKING` (for SVN 1.6 working copy only).

Version:
  1.7
Author:
  TMate Software Ltd.

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`SVNDiffOptions`
`getDiffOptions()`
Gets diff options for the operation.
`SVNRevision`
`getEndRevision()`
Gets the revision of the operation to end with.
`ISVNAnnotateHandler`
`getHandler()`
Gets the caller's handler to process annotation information.
`String`
`getInputEncoding()`
Gets the name of character set to decode input bytes.
`SVNRevision`
`getStartRevision()`
Gets the revision of the operation to start from.
`boolean`
`isChangesWorkingCopy()`
Gets whether the operation changes working copy
`boolean`
`isIgnoreMimeType()`
Gets whether or not operation should be run on all files treated as text, no matter what SVNKit has inferred from the mime-type property.
`boolean`
`isUseMergeHistory()`
Gets whether or not data based upon revisions which have been merged to targets also should be returned.
`void`
`setDiffOptions(SVNDiffOptions diffOptions)`
Sets diff options for the operation.
`void`
`setEndRevision(SVNRevision endRevision)`
Sets the revision of the operation to end with.
`void`
`setHandler(ISVNAnnotateHandler handler)`
Sets the caller's handler to process annotation information.
`void`
`setIgnoreMimeType(boolean ignoreMimeType)`
Sets whether or not operation should be run on all files treated as text, no matter what SVNKit has inferred from the mime-type property.
`void`
`setInputEncoding(String inputEncoding)`
Sets the name of character set to decode input bytes.
`void`
`setStartRevision(SVNRevision startRevision)`
Sets the revision of the operation to start from.
`void`
`setUseMergeHistory(boolean useMergeHistory)`
Sets whether or not data based upon revisions which have been merged to targets also should be returned.

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

`first, getReceiver, initDefaults, last, receive, run, setReceiver`

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

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

### SvnAnnotate

protected SvnAnnotate(SvnOperationFactory factory)

## Method Details

### getHandler

public ISVNAnnotateHandler getHandler()
Gets the caller's handler to process annotation information.

Returns:
  handler to process annotation information if set

### setHandler

public void setHandler(ISVNAnnotateHandler handler)
Sets the caller's handler to process annotation information.

Parameters:
  `handler` - handler to process annotation information

### isUseMergeHistory

public boolean isUseMergeHistory()
Gets whether or not data based upon revisions which have been merged to targets also should be returned.

Returns:
  `true` if merged history should be used, otherwise `false`

### setUseMergeHistory

public void setUseMergeHistory(boolean useMergeHistory)
Sets whether or not data based upon revisions which have been merged to targets also should be returned.

Parameters:
  `useMergeHistory` - `true` if merged history should be use, otherwise `false`

### isIgnoreMimeType

public boolean isIgnoreMimeType()
Gets whether or not operation should be run on all files treated as text, no matter what SVNKit has inferred from the mime-type property.

Returns:
  `true` if mime types should be ignored, otherwise `false`

### setIgnoreMimeType

public void setIgnoreMimeType(boolean ignoreMimeType)
Sets whether or not operation should be run on all files treated as text, no matter what SVNKit has inferred from the mime-type property.

Parameters:
  `ignoreMimeType` - `true` if mime types should be ignored, otherwise `false`

### getStartRevision

public SVNRevision getStartRevision()
Gets the revision of the operation to start from.

Returns:
  revision to start from

### setStartRevision

public void setStartRevision(SVNRevision startRevision)
Sets the revision of the operation to start from.

Parameters:
  `startRevision` - revision to start from

### getEndRevision

public SVNRevision getEndRevision()
Gets the revision of the operation to end with.

Returns:
  revision to end with

### setEndRevision

public void setEndRevision(SVNRevision endRevision)
Sets the revision of the operation to end with.

Parameters:
  `endRevision` - revision to end with

### getInputEncoding

public String getInputEncoding()
Gets the name of character set to decode input bytes.

Returns:
  name of character set

### setInputEncoding

public void setInputEncoding(String inputEncoding)
Sets the name of character set to decode input bytes.

Parameters:
  `inputEncoding` - name of character set

### getDiffOptions

public SVNDiffOptions getDiffOptions()
Gets diff options for the operation.

Returns:
  diff options

### setDiffOptions

public void setDiffOptions(SVNDiffOptions diffOptions)
Sets diff options for the operation.

Parameters:
  `diffOptions` - diff options

### isChangesWorkingCopy

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

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