org.apache.lucene.facet.taxonomy.directory
Class DirectoryTaxonomyWriter.DiskOrdinalMap

java.lang.Object
  extended by org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.DiskOrdinalMap
All Implemented Interfaces:
DirectoryTaxonomyWriter.OrdinalMap
Enclosing class:
DirectoryTaxonomyWriter

public static final class DirectoryTaxonomyWriter.DiskOrdinalMap
extends Object
implements DirectoryTaxonomyWriter.OrdinalMap

DirectoryTaxonomyWriter.OrdinalMap maintained on file system


Constructor Summary
DirectoryTaxonomyWriter.DiskOrdinalMap(File tmpfile)
           
 
Method Summary
 void addDone()
          Call addDone() to say that all addMapping() have been done.
 void addMapping(int origOrdinal, int newOrdinal)
           
 int[] getMap()
          Return the map from the taxonomy's original (consecutive) ordinals to the new taxonomy's ordinals.
 void setSize(int taxonomySize)
          Set the size of the map.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DirectoryTaxonomyWriter.DiskOrdinalMap

public DirectoryTaxonomyWriter.DiskOrdinalMap(File tmpfile)
                                       throws FileNotFoundException
Throws:
FileNotFoundException
Method Detail

addMapping

public void addMapping(int origOrdinal,
                       int newOrdinal)
                throws IOException
Specified by:
addMapping in interface DirectoryTaxonomyWriter.OrdinalMap
Throws:
IOException

setSize

public void setSize(int taxonomySize)
             throws IOException
Description copied from interface: DirectoryTaxonomyWriter.OrdinalMap
Set the size of the map. This MUST be called before addMapping(). It is assumed (but not verified) that addMapping() will then be called exactly 'size' times, with different origOrdinals between 0 and size-1.

Specified by:
setSize in interface DirectoryTaxonomyWriter.OrdinalMap
Throws:
IOException

addDone

public void addDone()
             throws IOException
Description copied from interface: DirectoryTaxonomyWriter.OrdinalMap
Call addDone() to say that all addMapping() have been done. In some implementations this might free some resources.

Specified by:
addDone in interface DirectoryTaxonomyWriter.OrdinalMap
Throws:
IOException

getMap

public int[] getMap()
             throws IOException
Description copied from interface: DirectoryTaxonomyWriter.OrdinalMap
Return the map from the taxonomy's original (consecutive) ordinals to the new taxonomy's ordinals. If the map has to be read from disk and ordered appropriately, it is done when getMap() is called. getMap() should only be called once, and only when the map is actually needed. Calling it will also free all resources that the map might be holding (such as temporary disk space), other than the returned int[].

Specified by:
getMap in interface DirectoryTaxonomyWriter.OrdinalMap
Throws:
IOException