Class DirectoryTaxonomyWriter.DiskOrdinalMap
- java.lang.Object
-
- 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
Constructors Constructor Description DiskOrdinalMap(File tmpfile)
Sole constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDone()
Call addDone() to say that all addMapping() have been done.void
addMapping(int origOrdinal, int newOrdinal)
Record a mapping.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.
-
-
-
Constructor Detail
-
DiskOrdinalMap
public DiskOrdinalMap(File tmpfile) throws FileNotFoundException
Sole constructor.- Throws:
FileNotFoundException
-
-
Method Detail
-
addMapping
public void addMapping(int origOrdinal, int newOrdinal) throws IOException
Description copied from interface:DirectoryTaxonomyWriter.OrdinalMap
Record a mapping.- Specified by:
addMapping
in interfaceDirectoryTaxonomyWriter.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 interfaceDirectoryTaxonomyWriter.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 interfaceDirectoryTaxonomyWriter.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 interfaceDirectoryTaxonomyWriter.OrdinalMap
- Throws:
IOException
-
-