# Class Commit

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

All Implemented Interfaces:
  `Comparable`

public class Commit extends Object implements Comparable
Represents a commit, which may consist of several `Revision` objects. A commit means that several files were committed at once by the same author with the same message. TODO: Rename getAuthor() to getLogin(), getAffectedFiles() to getAffectedFileNames() (or change to return CvsFiles?)

Version:
  $Id: Commit.java,v 1.17 2009/08/20 17:44:05 benoitx Exp $
Author:
  Richard Cyganiak invalid input: '<'richard@cyganiak.de>

## Constructor Summary

Constructors
Constructor
Description
`Commit(Revision revision)`
Creates a new instance which consists of the given revision.

## Method Summary

Modifier and Type
Method
Description
`void`
`addRevision(Revision revision)`
Adds a revision to the commit.
`int`
`compareTo(Object other)`
Compares this commit to another revision, based on their date.
`boolean`
`equals(Object rhs)`
`Set`
`getAffectedFiles()`
Returns a `String` `Set` containing all filenames which were affected by this `Commit`.
`Author`
`getAuthor()`
Returns the author of the commit.
`String`
`getComment()`
Returns the comment of the commit.
`Date`
`getDate()`
Returns the date when the commit took place.
`Set`
`getRevisions()`
Returns the `Revision` objects that make up this commit.
`int`
`hashCode()`

### Methods inherited from class Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Commit

public Commit(Revision revision)
Creates a new instance which consists of the given revision.

Parameters:
  `revision` - the single revision out of which the commit will be created

## Method Details

### addRevision

public void addRevision(Revision revision)
Adds a revision to the commit. The revision must be part of the commit, that is, it must have the same date, author and message as all other revisions in the commit.

Parameters:
  `revision` - the `Revision` to add.

### getRevisions

public Set getRevisions()
Returns the `Revision` objects that make up this commit.

Returns:
  a set of `Revision` instances

### getAuthor

public Author getAuthor()
Returns the author of the commit.

Returns:
  the author

### getComment

public String getComment()
Returns the comment of the commit.

Returns:
  the comment

### getDate

public Date getDate()
Returns the date when the commit took place. The implementation simply returns the timestamp of the first change of the commit.

Returns:
  a date within the timeframe of the commit

### getAffectedFiles

public Set getAffectedFiles()
Returns a `String` `Set` containing all filenames which were affected by this `Commit`.

Returns:
  a `Set` of `String`s

### compareTo

public int compareTo(Object other)
Compares this commit to another revision, based on their date.

Specified by:
  `compareTo` in interface `Comparable`
See Also:
  - `Comparable.compareTo(java.lang.Object)`

### equals

public boolean equals(Object rhs)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`