# 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(String)` will be called with the name of the module. Then, `buildFile(String, boolean, boolean, 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(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 invalid input: '<'richard@cyganiak.de>, Tammo van Lessen

## Method Summary

Modifier and Type
Method
Description
`void`
`buildFile(String filename, boolean isBinary, boolean isInAttic, Map revBySymnames)`
Starts building a new file.
`void`
`buildModule(String moduleName)`
Starts building a module.
`void`
`buildRevision(RevisionData data)`
Adds a revision to the last file that was built..

## Method Details

### buildModule

void buildModule(String moduleName)
Starts building a module.

Parameters:
  `moduleName` - the name of the module

### buildFile

void buildFile(String filename, boolean isBinary, boolean isInAttic, 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