public ICollection <EventBean> GetCollectKeys( EventBean[] eventsPerStream, DataMap parent, ExprEvaluatorContext context, IList <object> keys, CompositeIndexQueryResultPostProcessor postProcessor) { EventBean[] eventsToUse; if (_isNWOnTrigger) { eventsToUse = eventsPerStream; } else { Array.Copy(eventsPerStream, 0, _events, 1, eventsPerStream.Length); eventsToUse = _events; } var mk = EventBeanUtility.GetMultiKey(eventsToUse, _evaluators, context, _keyCoercionTypes); keys.AddAll(mk.Keys); var innerIndex = (DataMap)parent.Get(mk); if (innerIndex == null) { return(null); } return(_next.GetCollectKeys(eventsPerStream, innerIndex, context, keys, postProcessor)); }
public void Enter(EventBean theEvent, AnyMap parent) { var mk = EventBeanUtility.GetMultiKey(theEvent, _propertyGetters, _keyCoercionTypes); var innerIndex = (AnyMap)parent.Get(mk); if (innerIndex == null) { innerIndex = new OrderedDictionary <Object, Object>(); parent.Put(mk, innerIndex); } _next.Enter(theEvent, innerIndex); }
public ICollection <EventBean> Get(EventBean theEvent, DataMap parent, ExprEvaluatorContext context) { _events[_lookupStream] = theEvent; var mk = EventBeanUtility.GetMultiKey(_events, _evaluators, context, _keyCoercionTypes); var innerIndex = (DataMap)parent.Get(mk); if (innerIndex == null) { return(null); } return(_next.Get(theEvent, innerIndex, context)); }
public ISet <EventBean> GetCollectKeys(EventBean theEvent, DataMap parent, ExprEvaluatorContext context, IList <Object> keys) { _events[_lookupStream] = theEvent; var mk = EventBeanUtility.GetMultiKey(_events, _evaluators, context, _keyCoercionTypes); keys.AddAll(mk.Keys); var innerIndex = (DataMap)parent.Get(mk); if (innerIndex == null) { return(null); } return(_next.GetCollectKeys(theEvent, innerIndex, context, keys)); }
public void Remove(EventBean theEvent, AnyMap parent) { var mk = EventBeanUtility.GetMultiKey(theEvent, _propertyGetters, _keyCoercionTypes); var innerIndex = (AnyMap)parent.Get(mk); if (innerIndex == null) { return; } _next.Remove(theEvent, innerIndex); if (innerIndex.IsEmpty()) { parent.Remove(mk); } }
public ICollection <EventBean> GetCollectKeys( EventBean theEvent, DataMap parent, ExprEvaluatorContext context, IList <object> keys, CompositeIndexQueryResultPostProcessor postProcessor) { _events[_lookupStream] = theEvent; var mk = EventBeanUtility.GetMultiKey(_events, _evaluators, context, _keyCoercionTypes); keys.AddAll(mk.Keys); var innerIndex = (DataMap)parent.Get(mk); if (innerIndex == null) { return(null); } return(_next.GetCollectKeys(theEvent, innerIndex, context, keys, postProcessor)); }
public ICollection <EventBean> Get(EventBean[] eventsPerStream, DataMap parent, ExprEvaluatorContext context) { EventBean[] eventsToUse; if (_isNwOnTrigger) { eventsToUse = eventsPerStream; } else { Array.Copy(eventsPerStream, 0, _events, 1, eventsPerStream.Length); eventsToUse = _events; } var mk = EventBeanUtility.GetMultiKey(eventsToUse, _evaluators, context, _keyCoercionTypes); var innerIndex = (DataMap)parent.Get(mk); if (innerIndex == null) { return(null); } return(_next.Get(eventsPerStream, innerIndex, context)); }
public ISet <EventBean> GetCollectKeys(EventBean[] eventsPerStream, DataMap parent, ExprEvaluatorContext context, IList <Object> keys) { EventBean[] eventsToUse; if (_isNwOnTrigger) { eventsToUse = eventsPerStream; } else { Array.Copy(eventsPerStream, 0, _events, 1, eventsPerStream.Length); eventsToUse = _events; } MultiKeyUntyped mk = EventBeanUtility.GetMultiKey(eventsToUse, _evaluators, context, _keyCoercionTypes); keys.AddAll(mk.Keys); var innerIndex = (DataMap)parent.Get(mk); if (innerIndex == null) { return(null); } return(_next.GetCollectKeys(eventsPerStream, innerIndex, context, keys)); }
/// <summary>Determine multikey for index access. </summary> /// <param name="theEvent">to get properties from for key</param> /// <returns>multi key</returns> protected virtual MultiKeyUntyped GetMultiKey(EventBean theEvent) { return(EventBeanUtility.GetMultiKey(theEvent, PropertyGetters)); }