public abstract class StreamerIndexProviderAdapter<E,K,V> extends Object implements StreamerIndexProvider<E,K,V>
StreamerIndexProvider
adapter implementing base configuration methods.Modifier and Type | Class and Description |
---|---|
protected static class |
StreamerIndexProviderAdapter.DedupTrackingEntry<E,K,V>
Entry with index policy
StreamerIndexPolicy.EVENT_TRACKING_ON_DEDUP . |
protected static class |
StreamerIndexProviderAdapter.Entry<E,K,V>
Streamer window index entry.
|
protected static class |
StreamerIndexProviderAdapter.EventTrackingEntry<E,K,V>
Entry with index policy
StreamerIndexPolicy.EVENT_TRACKING_ON . |
protected static interface |
StreamerIndexProviderAdapter.IndexKey<V>
Streamer window index key.
|
protected static class |
StreamerIndexProviderAdapter.NonTrackingEntry<E,K,V>
Entry with index policy
StreamerIndexPolicy.EVENT_TRACKING_OFF . |
Modifier and Type | Field and Description |
---|---|
protected IgniteClosure<StreamerIndexEntry<E,K,V>,K> |
entryToKey |
protected IgniteClosure<StreamerIndexEntry<E,K,V>,V> |
entryToVal |
Constructor and Description |
---|
StreamerIndexProviderAdapter() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
add(E evt,
K key,
StreamerIndexUpdateSync sync)
Add event to the index.
|
void |
add(StreamerIndexUpdateSync sync,
E evt)
Add event to the index.
|
protected StreamerIndexProviderAdapter.Entry<E,K,V> |
addEvent(StreamerIndexEntry<E,K,V> oldEntry,
K key,
V val,
StreamerIndexProviderAdapter.IndexKey<V> idxKey,
E evt) |
protected static <E> Collection<E> |
addToCollection(Collection<E> col,
E evt) |
protected static <E> Map<E,Integer> |
addToMap(Map<E,Integer> map,
E evt) |
void |
dispose()
Disposes the index.
|
void |
endUpdate(StreamerIndexUpdateSync sync,
E evt,
boolean rollback,
boolean rmv)
Finalizes an update operation.
|
protected abstract void |
endUpdate0(StreamerIndexUpdateSync sync,
E evt,
K key,
boolean rollback) |
protected int |
eventsCount() |
String |
getName()
Gets index name.
|
StreamerIndexPolicy |
getPolicy()
Gets event indexing policy, which defines how events
are tracked within an index.
|
StreamerIndexUpdater<E,K,V> |
getUpdater()
Gets index updater.
|
StreamerIndex<E,K,V> |
index()
Gets user view for this index.
|
protected abstract StreamerIndex<E,K,V> |
index0() |
boolean |
isUnique()
Checks whether this index is unique or not.
|
protected void |
lockIndexKey(StreamerIndexProviderAdapter.IndexKey<V> key,
StreamerIndexUpdateSync sync)
Lock updates on particular key.
|
String |
name()
Index name.
|
protected StreamerIndexProviderAdapter.Entry<E,K,V> |
newEntry(K key,
V val,
StreamerIndexProviderAdapter.IndexKey<V> idxKey,
E evt) |
StreamerIndexPolicy |
policy()
Gets index policy.
|
protected void |
readLock() |
protected void |
readUnlock() |
protected abstract void |
remove(E evt,
K key,
StreamerIndexUpdateSync sync)
Remove event from the index.
|
void |
remove(StreamerIndexUpdateSync sync,
E evt)
Remove event from the index.
|
protected StreamerIndexProviderAdapter.Entry<E,K,V> |
removeEvent(StreamerIndexEntry<E,K,V> oldEntry,
K key,
V val,
StreamerIndexProviderAdapter.IndexKey<V> idxKey,
E evt) |
protected static <E> Collection<E> |
removeFromCollection(Collection<E> col,
E evt) |
protected static <E> Map<E,Integer> |
removeFromMap(Map<E,Integer> map,
E evt) |
void |
reset()
Resets the index to an initial empty state.
|
protected abstract void |
reset0()
Called on reset.
|
void |
setName(String name)
Sets index name.
|
void |
setPolicy(StreamerIndexPolicy plc)
Sets index policy.
|
void |
setUnique(boolean unique)
Sets unique flag.
|
void |
setUpdater(StreamerIndexUpdater<E,K,V> updater)
Sets index updater.
|
int |
size()
Gets current index size.
|
String |
toString() |
protected static <K,V> V |
trieGet(K key,
com.romix.scala.collection.concurrent.TrieMap<K,V> map)
Utility method to safely get values from TrieMap.
|
boolean |
unique()
Gets index unique flag.
|
protected void |
unlockIndexKey(StreamerIndexProviderAdapter.IndexKey<V> key,
StreamerIndexUpdateSync sync)
Unlock updates on particular key.
|
String |
updaterClass()
Gets index updater class name.
|
protected void |
writeLock() |
protected void |
writeUnlock() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
initialize
sorted
protected final IgniteClosure<StreamerIndexEntry<E,K,V>,V> entryToVal
protected final IgniteClosure<StreamerIndexEntry<E,K,V>,K> entryToKey
public void setName(String name)
name
- Index name.public String getName()
getName
in interface StreamerIndexProvider<E,K,V>
public void setPolicy(StreamerIndexPolicy plc)
plc
- Policy.public StreamerIndexPolicy getPolicy()
getPolicy
in interface StreamerIndexProvider<E,K,V>
public void setUnique(boolean unique)
unique
- True
for unique index.public boolean isUnique()
Object.equals(Object)
returns true
), an exception
is thrown.isUnique
in interface StreamerIndexProvider<E,K,V>
True
for unique index.public void setUpdater(StreamerIndexUpdater<E,K,V> updater)
updater
- Updater.public StreamerIndexUpdater<E,K,V> getUpdater()
public void dispose()
dispose
in interface StreamerIndexProvider<E,K,V>
public void add(StreamerIndexUpdateSync sync, E evt)
add
in interface StreamerIndexProvider<E,K,V>
sync
- Sync.evt
- Event.public void remove(StreamerIndexUpdateSync sync, E evt)
remove
in interface StreamerIndexProvider<E,K,V>
sync
- Sync.evt
- Event.public void endUpdate(StreamerIndexUpdateSync sync, E evt, boolean rollback, boolean rmv)
endUpdate
in interface StreamerIndexProvider<E,K,V>
sync
- Index update synchronizer.evt
- Updated event.rollback
- Rollback flag. If true
, a rollback was made.rmv
- Remove flag. If true
, the event was removed from index.protected abstract void endUpdate0(StreamerIndexUpdateSync sync, E evt, K key, boolean rollback)
sync
- Sync.evt
- Event.key
- Key.rollback
- Rollback flag.public void reset()
reset
in interface StreamerIndexProvider<E,K,V>
public StreamerIndex<E,K,V> index()
index
in interface StreamerIndexProvider<E,K,V>
protected abstract void reset0()
protected abstract StreamerIndex<E,K,V> index0()
protected void readLock()
protected void readUnlock()
protected void writeLock()
protected void writeUnlock()
protected int eventsCount()
protected abstract void add(E evt, K key, StreamerIndexUpdateSync sync) throws IgniteException
evt
- Event.key
- key.sync
- Sync.IgniteException
- If failed.protected abstract void remove(E evt, K key, StreamerIndexUpdateSync sync) throws IgniteException
evt
- Event.key
- Key.sync
- Sync.IgniteException
- If failed.protected void lockIndexKey(StreamerIndexProviderAdapter.IndexKey<V> key, StreamerIndexUpdateSync sync) throws IgniteException
key
- Key.sync
- Sync.IgniteException
- If failed.protected void unlockIndexKey(StreamerIndexProviderAdapter.IndexKey<V> key, StreamerIndexUpdateSync sync)
key
- Key.sync
- Sync.protected StreamerIndexProviderAdapter.Entry<E,K,V> newEntry(K key, V val, @Nullable StreamerIndexProviderAdapter.IndexKey<V> idxKey, E evt)
key
- Key,val
- Value.idxKey
- Index key.evt
- Event.protected StreamerIndexProviderAdapter.Entry<E,K,V> addEvent(StreamerIndexEntry<E,K,V> oldEntry, K key, V val, @Nullable StreamerIndexProviderAdapter.IndexKey<V> idxKey, E evt)
oldEntry
- Old entry.key
- Key,val
- Value.idxKey
- Index key.evt
- Event.protected StreamerIndexProviderAdapter.Entry<E,K,V> removeEvent(StreamerIndexEntry<E,K,V> oldEntry, K key, V val, @Nullable StreamerIndexProviderAdapter.IndexKey<V> idxKey, E evt)
oldEntry
- Old entry.key
- Key,val
- Value.idxKey
- Index key.evt
- Event.protected static <E> Collection<E> addToCollection(@Nullable Collection<E> col, E evt)
col
- Collection.evt
- Event.protected static <E> Map<E,Integer> addToMap(@Nullable Map<E,Integer> map, E evt)
map
- Collection.evt
- Event.@Nullable protected static <E> Collection<E> removeFromCollection(@Nullable Collection<E> col, E evt)
col
- Collection.evt
- Event.@Nullable protected static <E> Map<E,Integer> removeFromMap(@Nullable Map<E,Integer> map, E evt)
map
- Collection.evt
- Event.public String name()
name
in interface StreamerIndexProviderMBean
public String updaterClass()
updaterClass
in interface StreamerIndexProviderMBean
public boolean unique()
unique
in interface StreamerIndexProviderMBean
public StreamerIndexPolicy policy()
policy
in interface StreamerIndexProviderMBean
public int size()
size
in interface StreamerIndexProviderMBean
protected static <K,V> V trieGet(K key, com.romix.scala.collection.concurrent.TrieMap<K,V> map)
key
- Key.map
- Trie map.
Follow @ApacheIgnite
Apache Ignite Fabric : ver. 1.0.0-RC3 Release Date : March 24 2015