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

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `IndexAndTaxonomyRevision.SnapshotDirectoryTaxonomyWriter` A `DirectoryTaxonomyWriter` which sets the underlying `IndexWriter`'s `IndexDeletionPolicy` to `SnapshotDeletionPolicy`.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `INDEX_SOURCE`
    `static String` | `TAXONOMY_SOURCE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IndexAndTaxonomyRevision(IndexWriter indexWriter, IndexAndTaxonomyRevision.SnapshotDirectoryTaxonomyWriter taxoWriter)` Constructor over the given `IndexWriter`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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 responsibility 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-2021 Apache Software Foundation. All Rights Reserved.