org.tmatesoft.svn.core.wc.xml

## Class SVNXMLAnnotateHandler

- java.lang.Object
- - org.tmatesoft.svn.core.wc.xml.AbstractXMLHandler
  - - org.tmatesoft.svn.core.wc.xml.SVNXMLAnnotateHandler

All Implemented Interfaces:
  ISVNAnnotateHandler, org.xml.sax.Locator

    public class SVNXMLAnnotateHandler
    extends AbstractXMLHandler
    implements ISVNAnnotateHandler

This is an implementation of the ISVNAnnotateHandler interface that writes XML formatted annotation information to a specified ContentHandler.

Since:
  1.2
Version:
  1.3
Author:
  TMate Software Ltd.

### Field Summary

Fields
`static java.lang.String` `AUTHOR_TAG` `'author'` tag.
`static java.lang.String` `BLAME_TAG` `'blame'` tag.
`static java.lang.String` `COMMIT_TAG` `'commit'` tag.
`static java.lang.String` `DATE_TAG` `'date'` tag.
`static java.lang.String` `ENTRY_TAG` `'entry'` tag.
`static java.lang.String` `LINE_NUMBER_TAG` `'line-number'` tag.
`static java.lang.String` `MERGED_TAG` `'merged'` tag.
`static java.lang.String` `PATH_ATTR` `'path'` attribute.
`static java.lang.String` `REVISION_ATTR` `'revision'` attribute.
`static java.lang.String` `TARGET_TAG` `'target'` tag.

### Constructor Summary

Constructors
Constructor and Description
`SVNXMLAnnotateHandler(org.xml.sax.ContentHandler contentHandler)` Creates a new annotation handler.
`SVNXMLAnnotateHandler(org.xml.sax.ContentHandler contentHandler, org.tmatesoft.svn.util.ISVNDebugLog log)` Creates a new annotation handler.
`SVNXMLAnnotateHandler(org.xml.sax.ContentHandler contentHandler, org.tmatesoft.svn.util.ISVNDebugLog log, boolean isUseMergeHistory)` Creates a new annotation handler.

### Method Summary

Methods
`void` `endTarget()` Closes the formatted XML output.
`protected java.lang.String` `getHeaderName()`
`void` `handleEOF()` Does nothing.
`void` `handleLine(java.util.Date date, long revision, java.lang.String author, java.lang.String line)` Handles line annotation producing corresponding xml tags.
`void` `handleLine(java.util.Date date, long revision, java.lang.String author, java.lang.String line, java.util.Date mergedDate, long mergedRevision, java.lang.String mergedAuthor, java.lang.String mergedPath, int lineNumber)` Handles line annotation producing corresponding xml tags.
`boolean` `handleRevision(java.util.Date date, long revision, java.lang.String author, java.io.File contents)` Just returns false.
`void` `startTarget(java.lang.String pathOrURL)` Begins an XML tree with the target path/URL for which annotating is run.

### Methods inherited from class org.tmatesoft.svn.core.wc.xml.AbstractXMLHandler

`addAttribute, addTag, closeTag, endDocument, getColumnNumber, getDebugLog, getLineNumber, getPublicId, getSystemId, openTag, startDocument`

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

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

### Field Detail

#### PATH_ATTR

    public static final java.lang.String PATH_ATTR

`'path'` attribute.

See Also:
  Constant Field Values

#### REVISION_ATTR

    public static final java.lang.String REVISION_ATTR

`'revision'` attribute.

See Also:
  Constant Field Values

#### DATE_TAG

    public static final java.lang.String DATE_TAG

`'date'` tag.

See Also:
  Constant Field Values

#### AUTHOR_TAG

    public static final java.lang.String AUTHOR_TAG

`'author'` tag.

See Also:
  Constant Field Values

#### COMMIT_TAG

    public static final java.lang.String COMMIT_TAG

`'commit'` tag.

See Also:
  Constant Field Values

#### ENTRY_TAG

    public static final java.lang.String ENTRY_TAG

`'entry'` tag.

See Also:
  Constant Field Values

#### LINE_NUMBER_TAG

    public static final java.lang.String LINE_NUMBER_TAG

`'line-number'` tag.

See Also:
  Constant Field Values

#### TARGET_TAG

    public static final java.lang.String TARGET_TAG

`'target'` tag.

See Also:
  Constant Field Values

#### BLAME_TAG

    public static final java.lang.String BLAME_TAG

`'blame'` tag.

See Also:
  Constant Field Values

#### MERGED_TAG

    public static final java.lang.String MERGED_TAG

`'merged'` tag.

See Also:
  Constant Field Values

### Constructor Detail

#### SVNXMLAnnotateHandler

    public SVNXMLAnnotateHandler(org.xml.sax.ContentHandler contentHandler)

Creates a new annotation handler.

Parameters:
  `contentHandler` - a ContentHandler to form an XML tree

#### SVNXMLAnnotateHandler

    public SVNXMLAnnotateHandler(org.xml.sax.ContentHandler contentHandler,
                         org.tmatesoft.svn.util.ISVNDebugLog log)

Creates a new annotation handler.

Parameters:
  `contentHandler` - a ContentHandler to form an XML tree
  `log` - a debug logger

#### SVNXMLAnnotateHandler

    public SVNXMLAnnotateHandler(org.xml.sax.ContentHandler contentHandler,
                         org.tmatesoft.svn.util.ISVNDebugLog log,
                         boolean isUseMergeHistory)

Creates a new annotation handler.

Parameters:
  `contentHandler` - a ContentHandler to form an XML tree
  `log` - a debug logger
  `isUseMergeHistory` - whether merge history should be taken into account or not

### Method Detail

#### getHeaderName

    protected java.lang.String getHeaderName()

Specified by:
  `getHeaderName` in class `AbstractXMLHandler`

#### startTarget

    public void startTarget(java.lang.String pathOrURL)

Begins an XML tree with the target path/URL for which annotating is run.

Parameters:
  `pathOrURL` - a target file WC path or URL

#### endTarget

    public void endTarget()

Closes the formatted XML output.

#### handleLine

    public void handleLine(java.util.Date date,
                  long revision,
                  java.lang.String author,
                  java.lang.String line)
                    throws SVNException

Handles line annotation producing corresponding xml tags.

Specified by:
  `handleLine` in interface `ISVNAnnotateHandler`
Parameters:
  `date` -
  `revision` -
  `author` -
  `line` -
Throws:
  `SVNException`

#### handleLine

    public void handleLine(java.util.Date date,
                  long revision,
                  java.lang.String author,
                  java.lang.String line,
                  java.util.Date mergedDate,
                  long mergedRevision,
                  java.lang.String mergedAuthor,
                  java.lang.String mergedPath,
                  int lineNumber)
                    throws SVNException

Handles line annotation producing corresponding xml tags.

Specified by:
  `handleLine` in interface `ISVNAnnotateHandler`
Parameters:
  `date` -
  `revision` -
  `author` -
  `line` -
  `mergedDate` -
  `mergedRevision` -
  `mergedAuthor` -
  `mergedPath` -
  `lineNumber` -
Throws:
  `SVNException`

#### handleRevision

    public boolean handleRevision(java.util.Date date,
                         long revision,
                         java.lang.String author,
                         java.io.File contents)
                           throws SVNException

Just returns false.

Specified by:
  `handleRevision` in interface `ISVNAnnotateHandler`
Parameters:
  `date` -
  `revision` -
  `author` -
  `contents` -
Returns:
  false
Throws:
  `SVNException`

#### handleEOF

    public void handleEOF()

Does nothing.

Specified by:
  `handleEOF` in interface `ISVNAnnotateHandler`