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 , Tammo van Lessen

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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