Class StrictAppendableSymbolManager<STRING_LIKE_TYPE>
java.lang.Object
com.illumon.iris.db.tables.appendable.symbolmanagers.AppendableSymbolManager<STRING_LIKE_TYPE>
com.illumon.iris.db.tables.appendable.symbolmanagers.StrictAppendableSymbolManager<STRING_LIKE_TYPE>
- All Implemented Interfaces:
BufferedAppendable
,SymbolManager<STRING_LIKE_TYPE>
public class StrictAppendableSymbolManager<STRING_LIKE_TYPE>
extends AppendableSymbolManager<STRING_LIKE_TYPE>
An appendable symbol manager that guarantees one:one mappings from symbol to identifier.
-
Constructor Summary
ConstructorsConstructorDescriptionStrictAppendableSymbolManager
(BufferedAppendableColumn<STRING_LIKE_TYPE> symbolsColumn, Table existingSymbols) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Flush all appended data to the underlying store, release any resources held, and force all appended data to be persisted to permanent storage.void
SeeBufferedAppendableColumn.doneAppending()
for reference.int
getSymbolId
(STRING_LIKE_TYPE symbol) Get an integer identifier for value.void
release()
Release any resources held.Methods inherited from class com.illumon.iris.db.tables.appendable.symbolmanagers.AppendableSymbolManager
ensureFileExists, flush, force, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.illumon.iris.db.tables.appendable.BufferedAppendable
maybeForce, prepareCheckpoint
-
Constructor Details
-
StrictAppendableSymbolManager
public StrictAppendableSymbolManager(@NotNull BufferedAppendableColumn<STRING_LIKE_TYPE> symbolsColumn, @Nullable Table existingSymbols)
-
-
Method Details
-
getSymbolId
Description copied from interface:SymbolManager
Get an integer identifier for value. Implementations must guarantee that id to value mappings are one:one or many:one.- Parameters:
symbol
- The value to map- Returns:
- An integer identifier for value
-
doneAppending
public void doneAppending()Description copied from class:AppendableSymbolManager
SeeBufferedAppendableColumn.doneAppending()
for reference.- Overrides:
doneAppending
in classAppendableSymbolManager<STRING_LIKE_TYPE>
-
close
public void close()Description copied from interface:BufferedAppendable
Flush all appended data to the underlying store, release any resources held, and force all appended data to be persisted to permanent storage. This should be the final access to this appendable (if successful) with the exception of any asynchronousBufferedAppendable.force()
operations. ABufferedAppendable.release()
is appropriate afterwards, especially on error.- Specified by:
close
in interfaceBufferedAppendable
- Overrides:
close
in classAppendableSymbolManager<STRING_LIKE_TYPE>
-
release
public void release()Description copied from interface:BufferedAppendable
Release any resources held. Called after an error in preparation for termination. For external callers, this should be done as the final access to this column with the exception of any asynchronousBufferedAppendable.force()
operations.- Specified by:
release
in interfaceBufferedAppendable
- Overrides:
release
in classAppendableSymbolManager<STRING_LIKE_TYPE>
-