## org.apache.lucene.replicator
Class IndexAndTaxonomyRevision

    java.lang.Object
      org.apache.lucene.replicator.IndexAndTaxonomyRevision

All Implemented Interfaces:
  Comparable<Revision>, Revision

    public class IndexAndTaxonomyRevision

extends Object
implements Revision

A `Revision` of a single index and taxonomy index files which comprises the list of files from both indexes. This revision should be used whenever a pair of search and taxonomy indexes need to be replicated together to guarantee consistency of both on the replicating (client) side.

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

Nested Class Summary
`static class` `IndexAndTaxonomyRevision.SnapshotDirectoryTaxonomyWriter` A `DirectoryTaxonomyWriter` which sets the underlying `IndexWriter`'s `IndexDeletionPolicy` to `SnapshotDeletionPolicy`.

Field Summary
`static String` `INDEX_SOURCE`
`static String` `TAXONOMY_SOURCE`

Constructor Summary
`IndexAndTaxonomyRevision(IndexWriter indexWriter, IndexAndTaxonomyRevision.SnapshotDirectoryTaxonomyWriter taxoWriter)` Constructor over the given `IndexWriter`.

Method Summary
`int` `compareTo(Revision o)`
`int` `compareTo(String version)` Compares the revision to the given version string.
`Map<String,List<RevisionFile>>` `getSourceFiles()` Returns the files that comprise this revision, as a mapping from a source to a list of files.
`String` `getVersion()` Returns a string representation of the version of this revision.
`InputStream` `open(String source, String fileName)` Returns an `IndexInput` for the given fileName and source.
`void` `release()` Called when this revision can be safely released, i.e.
`static Map<String,List<RevisionFile>>` `revisionFiles(IndexCommit indexCommit, IndexCommit taxoCommit)` Returns a singleton map of the revision files from the given `IndexCommit`.
`static String` `revisionVersion(IndexCommit indexCommit, IndexCommit taxoCommit)` Returns a String representation of a revision's version from the given `IndexCommit`s of the search and taxonomy indexes.
`String` `toString()`

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

Field Detail

### INDEX_SOURCE

    public static final String INDEX_SOURCE

See Also:
  Constant Field Values

### TAXONOMY_SOURCE

    public static final String TAXONOMY_SOURCE

See Also:
  Constant Field Values

Constructor Detail

### IndexAndTaxonomyRevision

    public IndexAndTaxonomyRevision(IndexWriter indexWriter,
                                    IndexAndTaxonomyRevision.SnapshotDirectoryTaxonomyWriter taxoWriter)
                             throws IOException

  Constructor over the given `IndexWriter`. Uses the last `IndexCommit` found in the `Directory` managed by the given writer.

  Throws:
    `IOException`

Method Detail

### revisionFiles

    public static Map<String,List<RevisionFile>> revisionFiles(IndexCommit indexCommit,
                                                               IndexCommit taxoCommit)
                                                        throws IOException

  Returns a singleton map of the revision files from the given `IndexCommit`.

  Throws:
    `IOException`

### revisionVersion

    public static String revisionVersion(IndexCommit indexCommit,
                                         IndexCommit taxoCommit)

  Returns a String representation of a revision's version from the given `IndexCommit`s of the search and taxonomy indexes.

### compareTo

    public int compareTo(String version)

  Description copied from interface: `Revision`
  Compares the revision to the given version string. Behaves like `Comparable.compareTo(Object)`.

  Specified by:
    `compareTo` in interface `Revision`

### compareTo

    public int compareTo(Revision o)

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

### getVersion

    public String getVersion()

  Description copied from interface: `Revision`
  Returns a string representation of the version of this revision. The version is used by `Revision.compareTo(String)` as well as to serialize/deserialize revision information. Therefore it must be self descriptive as well as be able to identify one revision from another.

  Specified by:
    `getVersion` in interface `Revision`

### getSourceFiles

    public Map<String,List<RevisionFile>> getSourceFiles()

  Description copied from interface: `Revision`
  Returns the files that comprise this revision, as a mapping from a source to a list of files.

  Specified by:
    `getSourceFiles` in interface `Revision`

### open

    public InputStream open(String source,
                            String fileName)
                     throws IOException

  Description copied from interface: `Revision`
  Returns an `IndexInput` for the given fileName and source. It is the caller's respnsibility to close the `IndexInput` when it has been consumed.

  Specified by:
    `open` in interface `Revision`
  Throws:
    `IOException`

### release

    public void release()
                 throws IOException

  Description copied from interface: `Revision`
  Called when this revision can be safely released, i.e. where there are no more references to it.

  Specified by:
    `release` in interface `Revision`
  Throws:
    `IOException`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.