net.sf.statcvs.model
Class CvsContent

java.lang.Object
  extended bynet.sf.statcvs.model.CvsContent

public class CvsContent
extends Object

Represents a CVS Repository and provides access to the CvsFiles, Directorys, CvsRevisions and Authors recorded in the repository's history. TODO: Rename class to Repository, getCurrentLOC to getCurrentLines, getAuthors to getLogins TODO: Change getCommits to SortedSet

Version:
$Id: CvsContent.java,v 1.66 2004/02/20 01:33:28 cyganiak Exp $
Author:
Manuel Schulze, Richard Cyganiak

Constructor Summary
CvsContent()
           
 
Method Summary
 void addFile(CvsFile file)
          Adds one file to the repository.
 SortedSet getAuthors()
          Returns a SortedSet of all Authors who have committed to the repository, sorted by name.
 List getCommits()
          Returns a List of all Commits.
 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 CvsFiles, ordered by full name
 Date getFirstDate()
          Returns the first Date when there were changes on the repository.
 Date getLastDate()
          Returns the latest Date when there were changes on the repository.
 SortedSet getRevisions()
          Returns a SortedSet of CvsRevisions 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.
 boolean isEmpty()
          Returns true if the repository contains no files.
 void setCommits(List commits)
          Sets the list of commits.
 String toString()
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CvsContent

public CvsContent()
Method Detail

addFile

public void addFile(CvsFile 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 Commits.

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 CvsFiles, ordered by full name

Returns:
a list of all CvsFiles

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 CvsRevisions 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

toString

public String toString()


getAuthors

public SortedSet getAuthors()
Returns a SortedSet of all Authors who have committed to the repository, sorted by name.

Returns:
a SortedSet of Authors