net.sf.statcvs.input

## Interface CvsLogBuilder

All Known Implementing Classes:
  Builder

    public interface CvsLogBuilder

Interface for defining a Builder that constructs a data structure from a CVS logfile. `CvsLogfileParser` takes an instance of this interface and will call methods on the interface for every piece of data it encounters in the log.

First, `buildModule(java.lang.String)` will be called with the name of the module. Then, `buildFile(java.lang.String, boolean, boolean, java.util.Map)` will be called with the filename and other pieces of information of the first file in the log. Then, for every revision of this file, `buildRevision(net.sf.statcvs.input.RevisionData)` is called. The calls to `buildFile` and `buildRevision` are repeated for every file in the log.

The files are in no particular order. The revisions of one file are ordered by time, beginning with the most recent.

Version:
  $Id: CvsLogBuilder.java,v 1.3 2008/04/02 11:22:15 benoitx Exp $
Author:
  Richard Cyganiak <richard@cyganiak.de>, Tammo van Lessen

### Method Summary

Methods
`void` `buildFile(java.lang.String filename, boolean isBinary, boolean isInAttic, java.util.Map revBySymnames)` Starts building a new file.
`void` `buildModule(java.lang.String moduleName)` Starts building a module.
`void` `buildRevision(RevisionData data)` Adds a revision to the last file that was built..

### Method Detail

#### buildModule

    void buildModule(java.lang.String moduleName)

Starts building a module.

Parameters:
  `moduleName` - the name of the module

#### buildFile

    void buildFile(java.lang.String filename,
                 boolean isBinary,
                 boolean isInAttic,
                 java.util.Map revBySymnames)

Starts building a new file. The files are not processed in any particular order.

Parameters:
  `filename` - the file's name with path relative to the module, for example "path/file.txt"
  `isBinary` - `true` if it's a binary file
  `isInAttic` - `true` if the file is dead on the main branch
  `revBySymnames` - maps revision (string) by symbolic name (string)

#### buildRevision

    void buildRevision(RevisionData data)

Adds a revision to the last file that was built.. The revisions are added in CVS logfile order, that is starting with the most recent one.

Parameters:
  `data` - the revision