org.apache.lucene.replicator
Class IndexRevision

java.lang.Object
  extended by org.apache.lucene.replicator.IndexRevision
All Implemented Interfaces:
Comparable<Revision>, Revision

public class IndexRevision
extends Object
implements Revision

A Revision of a single index files which comprises the list of files that are part of the current IndexCommit. To ensure the files are not deleted by IndexWriter for as long as this revision stays alive (i.e. until release()), the current commit point is snapshotted, using SnapshotDeletionPolicy (this means that the given writer's config should return SnapshotDeletionPolicy).

When this revision is released, it releases the obtained snapshot as well as calls IndexWriter.deleteUnusedFiles() so that the snapshotted files are deleted (if they are no longer needed).

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

Constructor Summary
IndexRevision(IndexWriter writer)
          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 commit)
          Returns a singleton map of the revision files from the given IndexCommit.
static String revisionVersion(IndexCommit commit)
          Returns a String representation of a revision's version from the given IndexCommit.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IndexRevision

public IndexRevision(IndexWriter writer)
              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 commit)
                                                    throws IOException
Returns a singleton map of the revision files from the given IndexCommit.

Throws:
IOException

revisionVersion

public static String revisionVersion(IndexCommit commit)
Returns a String representation of a revision's version from the given IndexCommit.


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.