# Interface IFileHistory

All Known Implementing Classes:
  `FileHistory`

public interface IFileHistory
Provides a complete set of IFileRevisions that make up this IFileHistory.

Since:
  3.2
Restriction:
  This interface is not intended to be implemented by clients. Clients can instead subclass `FileHistory`.

## Method Summary

Modifier and Type
Method
Description
`IFileRevision[]`
`getContributors(IFileRevision revision)`
Returns the direct predecessors of the given revision.
`IFileRevision`
`getFileRevision(String id)`
Returns the file revision that corresponds to the passed in content identifier.
`IFileRevision[]`
`getFileRevisions()`
Returns the complete set of file revisions for this file (this includes all predecessors and all descendents)
`IFileRevision[]`
`getTargets(IFileRevision revision)`
Returns all of the direct descendents of the given in file revision.

## Method Details

### getFileRevisions

IFileRevision[] getFileRevisions()
Returns the complete set of file revisions for this file (this includes all predecessors and all descendents)

Returns:
  an array containing all of the file revisions for this particular file or an empty array if this file has no revisions

### getFileRevision

IFileRevision getFileRevision(String id)
Returns the file revision that corresponds to the passed in content identifier.

Parameters:
  `id` - the content identifier that uniquely identifies a file revision.
Returns:
  the file revision corresponding to the passed in content id or null if no file revisions match the given id

### getContributors

IFileRevision[] getContributors(IFileRevision revision)
Returns the direct predecessors of the given revision. If the file revision was the result of a single modification, then only a single predecessor will be returned. However, if the revision was the result of a merge of multiple revisions, then all revisions that were merge may be returned depending on whether the history provider tracks merges.

Parameters:
  `revision` - a file revision revision
Returns:
  the direct predecessors of the given file revision or an empty array if there are no predecessors

### getTargets

IFileRevision[] getTargets(IFileRevision revision)
Returns all of the direct descendents of the given in file revision. Multiple revisions may be returned if the given revision is a branch point or was merged into another revision. Some history providers may not track branches or merges, in which case a singel descendant may be returned.

Parameters:
  `revision` - the file revision that acts as the root
Returns:
  an array containing all of the the descendents or an empty array if the revision has no direct descendents