net.sf.statcvs.model
Class Revision

java.lang.Object
  extended by net.sf.statcvs.model.Revision
All Implemented Interfaces:
java.lang.Comparable

public class Revision
extends java.lang.Object
implements java.lang.Comparable

One revision of a VersionedFile. That can be an initial revision (checkin), a change, a deletion, or a re-add. Revisions are created using the methods VersionedFile.addInitialRevision(java.lang.String, net.sf.statcvs.model.Author, java.util.Date, java.lang.String, int, java.util.SortedSet), VersionedFile.addChangeRevision(java.lang.String, net.sf.statcvs.model.Author, java.util.Date, java.lang.String, int, int, int, java.util.SortedSet) and VersionedFile.addDeletionRevision(java.lang.String, net.sf.statcvs.model.Author, java.util.Date, java.lang.String, int, java.util.SortedSet). TODO: Replace type code with hierarchy TODO: Rename class to Revision, getAuthor() to getLogin(), isDead() to isDeletion()

Version:
$Id: Revision.java,v 1.2 2008/04/02 11:22:16 benoitx Exp $
Author:
Manuel Schulze, Richard Cyganiak

Field Summary
static int TYPE_BEGIN_OF_LOG
          Marks a revision at the very beginning of the log timespan.
static int TYPE_CHANGE
          Marks a revision that changes the file.
static int TYPE_CREATION
          Marks a revision that creates a new file.
static int TYPE_DELETION
          Marks a revision that deletes the file.
 
Constructor Summary
Revision(VersionedFile file, java.lang.String revisionNumber, int type, Author author, java.util.Date date, java.lang.String comment, int lines, int linesDelta, int linesReplaced, java.util.SortedSet symbolicNames)
          Creates a new revision of a file with the specified revision number.
 
Method Summary
 int compareTo(java.lang.Object other)
          Compares this revision to another revision.
 Author getAuthor()
          Returns the author of this revision.
 java.lang.String getComment()
          Returns the comment for this revision.
 java.util.Date getDate()
          Returns the date of this revision.
 int getEffectiveLinesOfCode()
          Deprecated. Use getLines() instead.
 VersionedFile getFile()
          Returns the file which was changed by this revision.
 int getFileCountChange()
          Deprecated. Use getFileCountDelta() instead.
 int getFileCountDelta()
          Returns the change of the file count caused by this revision.
 int getLines()
          Returns the number of lines for this revision.
 int getLinesAdded()
          Deprecated. Use getLinesDelta() and getReplacedLines() instead.
 int getLinesDelta()
          Returns by how many lines the line count changed with this revision.
 int getLinesOfCode()
          Deprecated. Use getLines() instead.
 int getLinesOfCodeChange()
          Deprecated. Use getLinesDelta() instead.
 int getLinesRemoved()
          Deprecated. Use getLinesDelta() and getReplacedLines() instead.
 int getLineValue()
          Deprecated. Use getNewLines() instead.
 int getNewLines()
          Returns the number of "new" lines in this revision.
 Revision getPreviousRevision()
          Returns the predecessor of this revision or null if it is the first revision for the file.
 int getRemovingValue()
          Deprecated. Use getReplacedLines() and getLinesDelta() instead.
 int getReplacedLines()
          Returns the number of lines that were removed and replaced by other lines in this revision.
 java.lang.String getRevision()
          Deprecated. Use getRevisionNumber() instead.
 java.lang.String getRevisionNumber()
          Returns the revision number.
 java.util.SortedSet getSymbolicNames()
          Returns a list of SymbolicNames of this revision or null if the revision has no symbolic names.
 boolean isBeginOfLog()
          Returns true if this is a revision at the very beginning of the log timespan which is only a container for the number of code lines at the beginning of the log and not a real revision committed by an author.
 boolean isDead()
          Returns true if the file is deleted in this revision.
 boolean isInitialRevision()
          Returns true if the file did not exist before this revision and does exist afterwards.
 java.lang.String toString()
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE_CREATION

public static final int TYPE_CREATION
Marks a revision that creates a new file. The file did not exist in the current branch before this revision, and it does exist afterwards. Possibly the file existed before, that is, it was deleted and restored.

See Also:
Constant Field Values

TYPE_CHANGE

public static final int TYPE_CHANGE
Marks a revision that changes the file. It does neither create nor delete the file.

See Also:
Constant Field Values

TYPE_DELETION

public static final int TYPE_DELETION
Marks a revision that deletes the file. The file existed before, but does not exist afterwards in the current branch.

See Also:
Constant Field Values

TYPE_BEGIN_OF_LOG

public static final int TYPE_BEGIN_OF_LOG
Marks a revision at the very beginning of the log timespan. This is only a container for the number of code lines at the beginning of the log. It is not a real revision committed by an author.

See Also:
Constant Field Values
Constructor Detail

Revision

public Revision(VersionedFile file,
                java.lang.String revisionNumber,
                int type,
                Author author,
                java.util.Date date,
                java.lang.String comment,
                int lines,
                int linesDelta,
                int linesReplaced,
                java.util.SortedSet symbolicNames)
Creates a new revision of a file with the specified revision number. Should not be called directly. Instead, VersionedFile.addInitialRevision(java.lang.String, net.sf.statcvs.model.Author, java.util.Date, java.lang.String, int, java.util.SortedSet) and its sister methods should be used.

Parameters:
file - VersionedFile that belongs to this revision
revisionNumber - revision number, for example "1.1"
type - a TYPE_XXX constant
author - the author of the revision
date - the date of the revision
comment - the author's comment
lines - number of lines; 0 for deletions
linesDelta - by how much did the number of lines change, compared to the previous revision?
linesReplaced - How many lines were removed and replaced by other lines, without the delta changing?
symbolicNames - list of symbolic names for this revision or null if this revision has no symbolic names
Method Detail

getRevisionNumber

public java.lang.String getRevisionNumber()
Returns the revision number.

Returns:
the revision number

getAuthor

public Author getAuthor()
Returns the author of this revision.

Returns:
the author

getComment

public java.lang.String getComment()
Returns the comment for this revision.

Returns:
the comment

getDate

public java.util.Date getDate()
Returns the date of this revision.

Returns:
the date

getLines

public int getLines()
Returns the number of lines for this revision. This is 0 for dead revisions.

Returns:
the number of lines

getLinesDelta

public int getLinesDelta()
Returns by how many lines the line count changed with this revision. Deletions return -getLines(), re-adds and initial revisions return getLines().

Returns:
the line count change of this revision

getReplacedLines

public int getReplacedLines()
Returns the number of lines that were removed and replaced by other lines in this revision. For example, if 5 lines were added and 2 lines removed, this would be 3. If 1 line was added and 1 was removed, it would be 1. If it was an initial revision or a deletion, it would be 0.

Returns:
the number of lines that were replaced by other lines.

getNewLines

public int getNewLines()
Returns the number of "new" lines in this revision. This is the sum of added and changed lines. In other words, all the "original" lines the author of this revision came up with.

Returns:
lines changed or added

getFileCountDelta

public int getFileCountDelta()
Returns the change of the file count caused by this revision. This is 1 for initial revisions and re-adds, -1 for deletions, and 0 for normal revisions.

Returns:
the file count change of this revision

isInitialRevision

public boolean isInitialRevision()
Returns true if the file did not exist before this revision and does exist afterwards. Possibly the file was deleted before, or it never existed before.

Returns:
true if the file did not exist before

isDead

public boolean isDead()
Returns true if the file is deleted in this revision.

Returns:
true if the file is deleted in this revision

isBeginOfLog

public boolean isBeginOfLog()
Returns true if this is a revision at the very beginning of the log timespan which is only a container for the number of code lines at the beginning of the log and not a real revision committed by an author.

Returns:
true if this revision exists only for StatCvs bookkeeping purposes

toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object

getFile

public VersionedFile getFile()
Returns the file which was changed by this revision.

Returns:
the file

getPreviousRevision

public Revision getPreviousRevision()
Returns the predecessor of this revision or null if it is the first revision for the file.

Returns:
the predecessor of this revision

getSymbolicNames

public java.util.SortedSet getSymbolicNames()
Returns a list of SymbolicNames of this revision or null if the revision has no symbolic names. The list is ordered from latest to oldest.

Returns:
list of symbolic names

compareTo

public int compareTo(java.lang.Object other)
Compares this revision to another revision. A revision is considered smaller if its date is smaller. If the dates are identical, the filename, author name, revision number and comment will be used to break the tie.

Specified by:
compareTo in interface java.lang.Comparable

getLinesAdded

public int getLinesAdded()
Deprecated. Use getLinesDelta() and getReplacedLines() instead.


getLinesRemoved

public int getLinesRemoved()
Deprecated. Use getLinesDelta() and getReplacedLines() instead.


getLinesOfCode

public int getLinesOfCode()
Deprecated. Use getLines() instead.


getEffectiveLinesOfCode

public int getEffectiveLinesOfCode()
Deprecated. Use getLines() instead.


getLinesOfCodeChange

public int getLinesOfCodeChange()
Deprecated. Use getLinesDelta() instead.


getLineValue

public int getLineValue()
Deprecated. Use getNewLines() instead.


getRemovingValue

public int getRemovingValue()
Deprecated. Use getReplacedLines() and getLinesDelta() instead.


getFileCountChange

public int getFileCountChange()
Deprecated. Use getFileCountDelta() instead.


getRevision

public java.lang.String getRevision()
Deprecated. Use getRevisionNumber() instead.



Copyright © 2008. All Rights Reserved.