## net.sf.statcvs.model
Class Repository

    java.lang.Object
      net.sf.statcvs.model.Repository

    public class Repository

extends Object

Represents a CVS Repository and provides access to the `VersionedFile`s, `Directory`s, `Revision`s and `Author`s recorded in the repository's history. TODO: Rename class to Repository, getCurrentLOC to getCurrentLines, getAuthors to getLogins TODO: Change getCommits to SortedSet

Version:
  $Id: Repository.java,v 1.5 2009/08/31 19:16:35 benoitx Exp $
Author:
  Manuel Schulze, Tammo van Lessen, Richard Cyganiak <richard@cyganiak.de>

Constructor Summary
`Repository()`

Method Summary
`void` `addFile(VersionedFile file)` Adds one file to the repository.
`SortedSet` `getAuthors()` Returns a `SortedSet` of all `Author`s who have committed to the repository, sorted by name.
`List` `getCommits()` Returns a `List` of all `Commit`s.
`int` `getCurrentLOC()` returns the current line count of the repository
`SortedSet` `getDirectories()` Returns a `SortedSet` of all `Directory` objects in the repository, ordered in tree order
`SortedSet` `getFiles()` Returns a list of all `VersionedFile`s, ordered by full name
`Date` `getFirstDate()` Returns the first `Date` when there were changes on the repository.
`SymbolicName` `getHead()` A special symbolic name that contains the latest revision of every file.
`Date` `getLastDate()` Returns the latest `Date` when there were changes on the repository.
`SortedMap` `getModules()`
`SortedSet` `getRevisions()` Returns a `SortedSet` of `Revision`s in the repository, sorted from oldest to most recent.
`Directory` `getRoot()` Returns the repository's root directory, or `null` if the directory contains no files.
`SortedSet` `getSymbolicNames()` Returns a list of `SymbolicName`s, ordered from latest to oldest.
`boolean` `isEmpty()` Returns `true` if the repository contains no files.
`void` `setCommits(List commits)` Sets the list of commits.
`void` `setSymbolicNames(SortedSet symbolicNames)` Sets the list of symbolic names contained in this Repository.
`String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Repository

    public Repository()

Method Detail

### addFile

    public void addFile(VersionedFile file)

  Adds one file to the repository.

  Parameters:
    `file` - the file

### setCommits

    public void setCommits(List commits)

  Sets the list of commits. This method exists only because of stupid design. This method may only be called by stupid designers. TODO: Fix this ugly hack!

  Parameters:
    `commits` - the list of commits

### getCommits

    public List getCommits()

  Returns a `List` of all `Commit`s.

  Returns:
    all commits

### getLastDate

    public Date getLastDate()

  Returns the latest `Date` when there were changes on the repository.

  Returns:
    The latest Date

### getFirstDate

    public Date getFirstDate()

  Returns the first `Date` when there were changes on the repository.

  Returns:
    The first Date

### getCurrentLOC

    public int getCurrentLOC()

  returns the current line count of the repository

  Returns:
    the current line count of the repository

### getFiles

    public SortedSet getFiles()

  Returns a list of all `VersionedFile`s, ordered by full name

  Returns:
    a list of all `VersionedFile`s

### isEmpty

    public boolean isEmpty()

  Returns `true` if the repository contains no files.

  Returns:
    `true` if the repository is empty

### getRevisions

    public SortedSet getRevisions()

  Returns a `SortedSet` of `Revision`s in the repository, sorted from oldest to most recent.

  Returns:
    all revisions in the repository.

### getDirectories

    public SortedSet getDirectories()

  Returns a `SortedSet` of all `Directory` objects in the repository, ordered in tree order

  Returns:
    a collection of `Directory` objects

### getRoot

    public Directory getRoot()

  Returns the repository's root directory, or `null` if the directory contains no files.

  Returns:
    the root directory

### setSymbolicNames

    public void setSymbolicNames(SortedSet symbolicNames)

  Sets the list of symbolic names contained in this Repository.

  Parameters:
    `symbolicNames` -

### getSymbolicNames

    public SortedSet getSymbolicNames()

  Returns a list of `SymbolicName`s, ordered from latest to oldest.

### getHead

    public SymbolicName getHead()

  A special symbolic name that contains the latest revision of every file.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### getAuthors

    public SortedSet getAuthors()

  Returns a `SortedSet` of all `Author`s who have committed to the repository, sorted by name.

  Returns:
    a `SortedSet` of `Author`s

### getModules

    public SortedMap getModules()