org.apache.lucene.replicator
Class IndexAndTaxonomyRevision

java.lang.Object
  extended by 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 IndexCommits 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 IndexCommits 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.