Class PropertyHashedEventTableUnique
java.lang.Object
com.espertech.esper.common.internal.epl.index.hash.PropertyHashedEventTable
com.espertech.esper.common.internal.epl.index.hash.PropertyHashedEventTableUnique
- All Implemented Interfaces:
EventTable
,EventTableAsSet
,Iterable<EventBean>
public class PropertyHashedEventTableUnique
extends PropertyHashedEventTable
implements EventTableAsSet
Unique index.
-
Field Summary
Fields inherited from class com.espertech.esper.common.internal.epl.index.hash.PropertyHashedEventTable
factory
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(EventBean theEvent, ExprEvaluatorContext exprEvaluatorContext) Add event to table.void
addRemove
(EventBean[] newData, EventBean[] oldData, ExprEvaluatorContext exprEvaluatorContext) Remove then add events.void
clear()
Clear out index.void
destroy()
Destroy index.getIndex()
Return the index object itself, or an object-array for multiple index structures.If the number of events is readily available, an implementation will return that number or it may return null to indicate that the count is not readily available.int
If the index retains events using some key-based organization this returns the number of keys, and may return -1 to indicate that either the number of keys is not available or costly to obtain.static EPException
handleUniqueIndexViolation
(String indexName, Object key) boolean
isEmpty()
Returns true if the index is definitely empty, or false if is not definitely empty but we can not certain.iterator()
Returns an iterator over events in the table.void
remove
(EventBean theEvent, ExprEvaluatorContext exprEvaluatorContext) Remove event from table.toString()
Methods inherited from class com.espertech.esper.common.internal.epl.index.hash.PropertyHashedEventTable
add, getKey, getMultiKeyTransform, getOrganization, remove, toQueryPlan
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.espertech.esper.common.internal.epl.index.base.EventTable
add, getOrganization, remove, toQueryPlan
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
PropertyHashedEventTableUnique
-
-
Method Details
-
lookup
- Specified by:
lookup
in classPropertyHashedEventTable
-
lookupFAF
- Specified by:
lookupFAF
in classPropertyHashedEventTable
-
getNumKeys
public int getNumKeys()Description copied from interface:EventTable
If the index retains events using some key-based organization this returns the number of keys, and may return -1 to indicate that either the number of keys is not available or costly to obtain.The number returned can be an estimate and may not be accurate.
- Specified by:
getNumKeys
in interfaceEventTable
- Returns:
- number of keys
-
getIndex
Description copied from interface:EventTable
Return the index object itself, or an object-array for multiple index structures.May return null if the information is not readily available, i.e. externally maintained index
- Specified by:
getIndex
in interfaceEventTable
- Returns:
- index object
-
addRemove
public void addRemove(EventBean[] newData, EventBean[] oldData, ExprEvaluatorContext exprEvaluatorContext) Remove then add events.- Specified by:
addRemove
in interfaceEventTable
- Overrides:
addRemove
in classPropertyHashedEventTable
- Parameters:
newData
- to addoldData
- to removeexprEvaluatorContext
- evaluator context
-
add
Description copied from interface:EventTable
Add event to table.- Specified by:
add
in interfaceEventTable
- Parameters:
theEvent
- to addexprEvaluatorContext
- evaluator context
-
remove
Description copied from interface:EventTable
Remove event from table.- Specified by:
remove
in interfaceEventTable
- Parameters:
theEvent
- to removeexprEvaluatorContext
- evaluator context
-
isEmpty
public boolean isEmpty()Description copied from interface:EventTable
Returns true if the index is definitely empty, or false if is not definitely empty but we can not certain.- Specified by:
isEmpty
in interfaceEventTable
- Returns:
- true for definitely empty index, false for there-may-be-rows and please-check-by-iterating
-
iterator
Description copied from interface:EventTable
Returns an iterator over events in the table. Not required to be implemented for all indexes. Full table scans and providers that have easy access to an iterator may implement.- Specified by:
iterator
in interfaceEventTable
- Specified by:
iterator
in interfaceIterable<EventBean>
- Returns:
- table iterator
-
clear
public void clear()Description copied from interface:EventTable
Clear out index.- Specified by:
clear
in interfaceEventTable
-
destroy
public void destroy()Description copied from interface:EventTable
Destroy index.- Specified by:
destroy
in interfaceEventTable
-
toString
- Overrides:
toString
in classPropertyHashedEventTable
-
getNumberOfEvents
Description copied from interface:EventTable
If the number of events is readily available, an implementation will return that number or it may return null to indicate that the count is not readily available.- Specified by:
getNumberOfEvents
in interfaceEventTable
- Returns:
- number of events
-
allValues
- Specified by:
allValues
in interfaceEventTableAsSet
-
getProviderClass
- Specified by:
getProviderClass
in interfaceEventTable
-
getPropertyIndex
-
handleUniqueIndexViolation
-