public abstract class TabularIndexHost
extends java.lang.Object
Deriving classes are responsible for setting up the tables of this index and providing the writer API to clients.
For the former, use newUnaryInputTable(IInputKey, boolean)
,
newBinaryInputTable(IInputKey, boolean)
to create input tables,
or registerNewTable(IIndexTable)
to register manually created derived tables.
Instantiate such tables with runtimeContext
as their table context.
EXPERIMENTAL. This class or interface has been added as part of a work in progress. There is no guarantee that this API will work or that it will remain the same.
EcoreIndexHost for EMF-specific example usage.
Modifier and Type | Class and Description |
---|---|
class |
TabularIndexHost.TabularIndexScope
A scope describing queries evaluated against tzhis index host.
|
Modifier and Type | Field and Description |
---|---|
protected TabularRuntimeContext |
runtimeContext |
protected TabularIndexHost.TabularIndexScope |
scope |
Constructor and Description |
---|
TabularIndexHost(IStorageBackend storage,
TabularRuntimeContext runtimeContext) |
Modifier and Type | Method and Description |
---|---|
void |
finishUpdateTransaction()
Marks the end of an update transaction.
|
TabularRuntimeContext |
getRuntimeContext() |
TabularIndexHost.TabularIndexScope |
getScope() |
protected abstract boolean |
isQueryScopeEmulated(java.lang.Class<? extends QueryScope> queryScopeClass) |
protected ITableWriterBinary.Table<java.lang.Object,java.lang.Object> |
newBinaryInputTable(IInputKey key,
boolean unique)
To be called by deriving class.
|
protected ITableWriterUnary.Table<java.lang.Object> |
newUnaryInputTable(IInputKey key,
boolean unique)
To be called by deriving class.
|
protected <Table extends IIndexTable> |
registerNewTable(Table newTable)
To be called by deriving class.
|
void |
startUpdateTransaction()
Marks the beginning of an update transaction.
|
protected final TabularRuntimeContext runtimeContext
protected final TabularIndexHost.TabularIndexScope scope
public TabularIndexHost(IStorageBackend storage, TabularRuntimeContext runtimeContext)
public TabularRuntimeContext getRuntimeContext()
public TabularIndexHost.TabularIndexScope getScope()
protected abstract boolean isQueryScopeEmulated(java.lang.Class<? extends QueryScope> queryScopeClass)
public void startUpdateTransaction()
public void finishUpdateTransaction()
protected ITableWriterUnary.Table<java.lang.Object> newUnaryInputTable(IInputKey key, boolean unique)
protected ITableWriterBinary.Table<java.lang.Object,java.lang.Object> newBinaryInputTable(IInputKey key, boolean unique)
protected <Table extends IIndexTable> Table registerNewTable(Table newTable)