net.sf.statcvs.model

## Class Repository

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

    public class Repository
    extends java.lang.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

Constructors
Constructor and Description
`Repository()`

### Method Summary

Methods
`void` `addFile(VersionedFile file)` Adds one file to the repository.
`java.util.SortedSet` `getAuthors()` Returns a `SortedSet` of all `Author`s who have committed to the repository, sorted by name.
`java.util.List` `getCommits()` Returns a `List` of all `Commit`s.
`int` `getCurrentLOC()` returns the current line count of the repository
`java.util.SortedSet` `getDirectories()` Returns a `SortedSet` of all `Directory` objects in the repository, ordered in tree order
`java.util.SortedSet` `getFiles()` Returns a list of all `VersionedFile`s, ordered by full name
`java.util.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.
`java.util.Date` `getLastDate()` Returns the latest `Date` when there were changes on the repository.
`java.util.SortedMap` `getModules()`
`java.util.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.
`java.util.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(java.util.List commits)` Sets the list of commits.
`void` `setSymbolicNames(java.util.SortedSet symbolicNames)` Sets the list of symbolic names contained in this Repository.
`java.lang.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(java.util.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 java.util.List getCommits()

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

Returns:
  all commits

#### getLastDate

    public java.util.Date getLastDate()

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

Returns:
  The latest Date

#### getFirstDate

    public java.util.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 java.util.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 java.util.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 java.util.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(java.util.SortedSet symbolicNames)

Sets the list of symbolic names contained in this Repository.

Parameters:
  `symbolicNames` -

#### getSymbolicNames

    public java.util.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 java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### getAuthors

    public java.util.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 java.util.SortedMap getModules()