|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.statsvn.input.FileBuilder
public class FileBuilder
Builds a VersionedFile
with Revision
s from logging data.
This class is responsible for deciding if a file or revisions will be
included in the report, for translating from CVS logfile data structures to
the data structures in the net.sf.statsvn.model package, and for
calculating the LOC history for the file.
A main goal of this class is to delay the creation of the VersionedFile object until all revisions of the file have been collected from the log. We could simply create VersionedFile and Revisions on the fly as we parse through the log, but this creates a problem if we decide not to include the file after reading several revisions. The creation of a VersionedFile or Revision can cause many more objects to be created (Author, Directory, Commit), and it would be very hard to get rid of them if we don't want the file. This problem is solved by first collecting all information about one file in this class, and then, with all information present, deciding if we want to create the model instances or not.
Constructor Summary | |
---|---|
FileBuilder(Builder builder,
java.lang.String name,
boolean isBinary,
java.util.Map revBySymnames,
java.util.Map dateBySymnames)
Creates a new FileBuilder. |
Method Summary | |
---|---|
void |
addRevisionData(RevisionData data)
Adds a revision to the file. |
net.sf.statcvs.model.VersionedFile |
createFile(java.util.Date beginOfLogDate)
Creates and returns a VersionedFile representation of the file. |
boolean |
existRevision()
Returns true if the file has revisions. |
protected boolean |
finalRevisionIsDead()
Returns true if the file's most recent revision is dead. |
java.lang.String |
getName()
New in StatSVN: Gives the FileBuilder's filename. |
java.util.List |
getRevisions()
New in StatSVN: The list of revisions made on this file. |
boolean |
isBinary()
New in StatSVN: Returns true if this file is known to be binary. |
void |
setBinary(boolean isBinary)
New in StatSVN: Sets the file's binary flag. |
void |
updateRevision(java.lang.String revisionNumber,
int linesAdded,
int linesRemoved)
New in StatSVN: Updates a particular revision with new line count information. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public FileBuilder(Builder builder, java.lang.String name, boolean isBinary, java.util.Map revBySymnames, java.util.Map dateBySymnames)
builder
- a Builder that provides factory services for author
and directory instances and line counts.name
- the filenamebinary
- Is this a binary file or not?Method Detail |
---|
public void addRevisionData(RevisionData data)
data
- the revisionpublic net.sf.statcvs.model.VersionedFile createFile(java.util.Date beginOfLogDate)
VersionedFile
representation of the file.
null is returned if the file does not meet certain criteria,
for example if its filename meets an exclude filter or if it was dead
during the entire logging timespan.
beginOfLogDate
- the date of the begin of the log
protected boolean finalRevisionIsDead()
public boolean existRevision()
public java.lang.String getName()
public java.util.List getRevisions()
public boolean isBinary()
public void setBinary(boolean isBinary)
binary
- is the file binary?public void updateRevision(java.lang.String revisionNumber, int linesAdded, int linesRemoved)
revisionNumber
- the revision number to be updatedlinesAdded
- the lines that were addedlinesRemoved
- the lines that were removed
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |