## org.apache.lucene.index
Class IndexCommit

    java.lang.Object
      org.apache.lucene.index.IndexCommit

All Implemented Interfaces:
  Comparable<IndexCommit>

Direct Known Subclasses:
  SnapshotDeletionPolicy.SnapshotCommitPoint

    public abstract class IndexCommit

extends Object
implements Comparable<IndexCommit>

Expert: represents a single commit into an index as seen by the `IndexDeletionPolicy` or `IndexReader`.

Changes to the content of an index are made visible only after the writer who made that change commits by writing a new segments file (`segments_N`). This point in time, when the action of writing of a new segments file to the directory is completed, is an index commit.

Each index commit point has a unique segments file associated with it. The segments file associated with a later index commit point would have a larger N.

WARNING: This API is experimental and might change in incompatible ways in the next release.

Constructor Summary
`IndexCommit()`

Method Summary
`int` `compareTo(IndexCommit commit)`
`abstract void` `delete()` Delete this commit point.
`boolean` `equals(Object other)` Two IndexCommits are equal if both their Directory and versions are equal.
`abstract Directory` `getDirectory()` Returns the `Directory` for the index.
`abstract Collection<String>` `getFileNames()` Returns all index files referenced by this commit point.
`abstract long` `getGeneration()` Returns the generation (the _N in segments_N) for this IndexCommit
`abstract int` `getSegmentCount()` Returns number of segments referenced by this commit.
`abstract String` `getSegmentsFileName()` Get the segments file (`segments_N`) associated with this commit point.
`long` `getTimestamp()` Deprecated. If you need to track commit time of an index, you can store it in the commit data (see `IndexWriter.commit(Map)`
`abstract Map<String,String>` `getUserData()` Returns userData, previously passed to `IndexWriter.commit(Map)` for this commit.
`abstract long` `getVersion()` Deprecated. use `getGeneration()` instead
`int` `hashCode()`
`abstract boolean` `isDeleted()`

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

Constructor Detail

### IndexCommit

    public IndexCommit()

Method Detail

### getSegmentsFileName

    public abstract String getSegmentsFileName()

  Get the segments file (`segments_N`) associated with this commit point.

### getFileNames

    public abstract Collection<String> getFileNames()
                                             throws IOException

  Returns all index files referenced by this commit point.

  Throws:
    `IOException`

### getDirectory

    public abstract Directory getDirectory()

  Returns the `Directory` for the index.

### delete

    public abstract void delete()

  Delete this commit point. This only applies when using the commit point in the context of IndexWriter's IndexDeletionPolicy.

  Upon calling this, the writer is notified that this commit point should be deleted.

  Decision that a commit-point should be deleted is taken by the `IndexDeletionPolicy` in effect and therefore this should only be called by its `onInit()` or `onCommit()` methods.

### isDeleted

    public abstract boolean isDeleted()

### getSegmentCount

    public abstract int getSegmentCount()

  Returns number of segments referenced by this commit.

### equals

    public boolean equals(Object other)

  Two IndexCommits are equal if both their Directory and versions are equal.

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### getVersion

    @Deprecated
    public abstract long getVersion()

  Deprecated. use `getGeneration()` instead

  Returns the version for this IndexCommit. This is the same value that `IndexReader.getVersion()` would return if it were opened on this commit.

### getGeneration

    public abstract long getGeneration()

  Returns the generation (the _N in segments_N) for this IndexCommit

### getTimestamp

    @Deprecated
    public long getTimestamp()
                      throws IOException

  Deprecated. If you need to track commit time of an index, you can store it in the commit data (see `IndexWriter.commit(Map)`

  Convenience method that returns the last modified time of the segments_N file corresponding to this index commit, equivalent to getDirectory().fileModified(getSegmentsFileName()).

  Throws:
    `IOException`

### getUserData

    public abstract Map<String,String> getUserData()
                                            throws IOException

  Returns userData, previously passed to `IndexWriter.commit(Map)` for this commit. Map is String -> String.

  Throws:
    `IOException`

### compareTo

    public int compareTo(IndexCommit commit)

  Specified by:
    `compareTo` in interface `Comparable<IndexCommit>`