org.tmatesoft.svn.core.wc.xml
Class SVNXMLAnnotateHandler

java.lang.Object
  extended by org.tmatesoft.svn.core.wc.xml.AbstractXMLHandler
      extended by 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

Field Summary
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
SVNXMLAnnotateHandler(org.xml.sax.ContentHandler contentHandler)
          Creates a new annotation handler.
SVNXMLAnnotateHandler(org.xml.sax.ContentHandler contentHandler, ISVNDebugLog log)
          Creates a new annotation handler.
SVNXMLAnnotateHandler(org.xml.sax.ContentHandler contentHandler, ISVNDebugLog log, boolean isUseMergeHistory)
          Creates a new annotation handler.
 
Method Summary
 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,
                             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,
                             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