net.sf.statcvs.model
Class Revision
- Comparable
public class Revision
implements 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(String,Author,Date,String,int,SortedSet)
,
VersionedFile.addChangeRevision(String,Author,Date,String,int,int,int,SortedSet)
and
VersionedFile.addDeletionRevision(String,Author,Date,String,int,SortedSet)
.
TODO: Replace type code with hierarchy
TODO: Rename class to Revision, getAuthor() to getLogin(), isDead() to isDeletion()
$Id: Revision.java,v 1.2 2008/04/02 11:22:16 benoitx Exp $- Manuel Schulze
- Richard Cyganiak
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.
|
Revision(VersionedFile file, String revisionNumber, int type, Author author, Date date, String comment, int lines, int linesDelta, int linesReplaced, SortedSet symbolicNames) - Creates a new revision of a file with the
specified revision number.
|
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.
TYPE_CHANGE
public static final int TYPE_CHANGE
Marks a revision that changes the file. It does neither create nor
delete the file.
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.
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.
Revision
public Revision(VersionedFile file,
String revisionNumber,
int type,
Author author,
Date date,
String comment,
int lines,
int linesDelta,
int linesReplaced,
SortedSet symbolicNames)
file
- VersionedFile that belongs to this revisionrevisionNumber
- revision number, for example "1.1"type
- a TYPE_XXX constantauthor
- the author of the revisiondate
- the date of the revisioncomment
- the author's commentlines
- number of lines; 0 for deletionslinesDelta
- 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
compareTo
public int compareTo(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.
getAuthor
public Author getAuthor()
Returns the author of this revision.
getComment
public String getComment()
Returns the comment for this revision.
getDate
public Date getDate()
Returns the date of this revision.
getEffectiveLinesOfCode
public int getEffectiveLinesOfCode()
Use getLines()
instead.
getFile
public VersionedFile getFile()
Returns the file which was changed by this revision.
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.
- the file count change of this revision
getLines
public int getLines()
Returns the number of lines for this revision. This is 0 for
dead revisions.
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()
.
- the line count change of this revision
getLinesOfCode
public int getLinesOfCode()
Use getLines()
instead.
getLinesOfCodeChange
public int getLinesOfCodeChange()
Use getLinesDelta()
instead.
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.
getPreviousRevision
public Revision getPreviousRevision()
Returns the predecessor of this revision or null if it
is the first revision for the file.
- the predecessor 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.
- the number of lines that were replaced by other lines.
getRevisionNumber
public String getRevisionNumber()
Returns the revision number.
getSymbolicNames
public SortedSet getSymbolicNames()
Returns a list of
SymbolicName
s of this revision or null if
the revision has no symbolic names. The list is ordered from
latest to oldest.
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.
true
if this revision exists
only for StatCvs bookkeeping purposes
isDead
public boolean isDead()
Returns true if the file is deleted in this revision.
true
if the file is deleted in 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.
true
if the file did not exist before
toString
public String toString()