Package io.siddhi.core.table.holder
Class IndexEventHolder
- java.lang.Object
-
- io.siddhi.core.table.holder.IndexEventHolder
-
- All Implemented Interfaces:
EventHolder,IndexedEventHolder,Serializable
- Direct Known Subclasses:
IndexEventHolderForCache
public class IndexEventHolder extends Object implements IndexedEventHolder, Serializable
EventHolder implementation where events will be indexed and stored. This will offer faster access compared to other EventHolder implementations. User can only add unique events based on a given primary key.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,TreeMap<Object,Set<StreamEvent>>>indexDataprotected StringprimaryKeyAttributesprotected Map<Object,StreamEvent>primaryKeyData
-
Constructor Summary
Constructors Constructor Description IndexEventHolder(StreamEventFactory tableStreamEventFactory, StreamEventConverter eventConverter, PrimaryKeyReferenceHolder[] primaryKeyReferenceHolders, boolean isPrimaryNumeric, Map<String,Integer> indexMetaData, io.siddhi.query.api.definition.AbstractDefinition tableDefinition, SiddhiAppContext siddhiAppContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(ComplexEventChunk<StreamEvent> addingEventChunk)booleancontainsEventSet(String attribute, io.siddhi.query.api.expression.condition.Compare.Operator operator, Object value)voiddelete(String attribute, io.siddhi.query.api.expression.condition.Compare.Operator operator, Object value)voiddeleteAll()voiddeleteAll(Collection<StreamEvent> storeEventSet)voiddeleteEvent(Object key)Collection<StreamEvent>findEvents(String attribute, io.siddhi.query.api.expression.condition.Compare.Operator operator, Object value)Collection<StreamEvent>getAllEvents()Set<Object>getAllPrimaryKeyValues()StreamEventgetEvent(Object key)PrimaryKeyReferenceHolder[]getPrimaryKeyReferenceHolders()SnapshotgetSnapshot()protected voidhandleCachePolicyAttributeUpdate(StreamEvent streamEvent)booleanisAttributeIndexed(int position)booleanisAttributeIndexed(String attribute)booleanisMultiPrimaryKeyAttribute(String attributeName)voidoverwrite(StreamEvent streamEvent)voidreplace(Object key, StreamEvent streamEvent)voidrestore(SnapshotStateList snapshotStatelist)intsize()
-
-
-
Field Detail
-
primaryKeyData
protected final Map<Object,StreamEvent> primaryKeyData
-
primaryKeyAttributes
protected String primaryKeyAttributes
-
-
Constructor Detail
-
IndexEventHolder
public IndexEventHolder(StreamEventFactory tableStreamEventFactory, StreamEventConverter eventConverter, PrimaryKeyReferenceHolder[] primaryKeyReferenceHolders, boolean isPrimaryNumeric, Map<String,Integer> indexMetaData, io.siddhi.query.api.definition.AbstractDefinition tableDefinition, SiddhiAppContext siddhiAppContext)
-
-
Method Detail
-
replace
public void replace(Object key, StreamEvent streamEvent)
-
getAllPrimaryKeyValues
public Set<Object> getAllPrimaryKeyValues()
- Specified by:
getAllPrimaryKeyValuesin interfaceIndexedEventHolder
-
getPrimaryKeyReferenceHolders
public PrimaryKeyReferenceHolder[] getPrimaryKeyReferenceHolders()
- Specified by:
getPrimaryKeyReferenceHoldersin interfaceIndexedEventHolder
-
isMultiPrimaryKeyAttribute
public boolean isMultiPrimaryKeyAttribute(String attributeName)
- Specified by:
isMultiPrimaryKeyAttributein interfaceIndexedEventHolder
-
isAttributeIndexed
public boolean isAttributeIndexed(String attribute)
- Specified by:
isAttributeIndexedin interfaceIndexedEventHolder
-
isAttributeIndexed
public boolean isAttributeIndexed(int position)
- Specified by:
isAttributeIndexedin interfaceIndexedEventHolder
-
add
public void add(ComplexEventChunk<StreamEvent> addingEventChunk)
- Specified by:
addin interfaceEventHolder
-
handleCachePolicyAttributeUpdate
protected void handleCachePolicyAttributeUpdate(StreamEvent streamEvent)
-
overwrite
public void overwrite(StreamEvent streamEvent)
- Specified by:
overwritein interfaceIndexedEventHolder
-
getAllEvents
public Collection<StreamEvent> getAllEvents()
- Specified by:
getAllEventsin interfaceIndexedEventHolder
-
getEvent
public StreamEvent getEvent(Object key)
-
deleteEvent
public void deleteEvent(Object key)
-
findEvents
public Collection<StreamEvent> findEvents(String attribute, io.siddhi.query.api.expression.condition.Compare.Operator operator, Object value)
- Specified by:
findEventsin interfaceIndexedEventHolder
-
deleteAll
public void deleteAll()
- Specified by:
deleteAllin interfaceEventHolder- Specified by:
deleteAllin interfaceIndexedEventHolder
-
deleteAll
public void deleteAll(Collection<StreamEvent> storeEventSet)
- Specified by:
deleteAllin interfaceIndexedEventHolder
-
delete
public void delete(String attribute, io.siddhi.query.api.expression.condition.Compare.Operator operator, Object value)
- Specified by:
deletein interfaceIndexedEventHolder
-
containsEventSet
public boolean containsEventSet(String attribute, io.siddhi.query.api.expression.condition.Compare.Operator operator, Object value)
- Specified by:
containsEventSetin interfaceIndexedEventHolder
-
getSnapshot
public Snapshot getSnapshot()
- Specified by:
getSnapshotin interfaceEventHolder
-
restore
public void restore(SnapshotStateList snapshotStatelist)
- Specified by:
restorein interfaceEventHolder
-
size
public int size()
- Specified by:
sizein interfaceEventHolder
-
-