/// <summary> /// Ctor. /// </summary> /// <param name="copyMethod">for copying the events to preprocess</param> /// <param name="entries">descriptors for pre-processing to apply</param> public InternalEventRouterPreprocessor( EventBeanCopyMethod copyMethod, IList<InternalEventRouterEntry> entries) { this.copyMethod = copyMethod; entries.SortInPlace(COMPARATOR); this.entries = entries.ToArray(); empty = this.entries.Length == 0; }
/// <summary> /// Ctor. /// </summary> /// <param name="wrapperEventType">wrapper type</param> /// <param name="eventAdapterService">event adapter creation</param> /// <param name="underlyingCopyMethod">copy method for the underlying event</param> public WrapperEventBeanCopyMethod( WrapperEventType wrapperEventType, EventBeanTypedEventFactory eventAdapterService, EventBeanCopyMethod underlyingCopyMethod) { this.wrapperEventType = wrapperEventType; this.eventAdapterService = eventAdapterService; this.underlyingCopyMethod = underlyingCopyMethod; }
public InternalEventRouterDesc(UpdateDesc updateDesc, EventBeanCopyMethod copyMethod, TypeWidener[] wideners, EventType eventType, Attribute[] annotations) { UpdateDesc = updateDesc; CopyMethod = copyMethod; Wideners = wideners; EventType = eventType; Annotations = annotations; }
public EventBeanCopyMethod GetCopyMethod(String[] properties) { if (_writableProperties == null) { InitializeWriters(); } bool isOnlyMap = true; for (int i = 0; i < properties.Length; i++) { if (_underlyingMapType.GetWritableProperty(properties[i]) == null) { isOnlyMap = false; } } bool isOnlyUnderlying = true; if (!isOnlyMap) { if (!(_underlyingEventType is EventTypeSPI)) { return(null); } var spi = (EventTypeSPI)_underlyingEventType; for (int i = 0; i < properties.Length; i++) { if (spi.GetWritableProperty(properties[i]) == null) { isOnlyUnderlying = false; } } } if (isOnlyMap) { return(new WrapperEventBeanMapCopyMethod(this, _eventAdapterService)); } EventBeanCopyMethod undCopyMethod = ((EventTypeSPI)_underlyingEventType).GetCopyMethod(properties); if (undCopyMethod == null) { return(null); } if (isOnlyUnderlying) { return(new WrapperEventBeanUndCopyMethod(this, _eventAdapterService, undCopyMethod)); } return(new WrapperEventBeanCopyMethod(this, _eventAdapterService, undCopyMethod)); }
/// <summary> /// Ctor. /// </summary> /// <param name="copyMethod">for copying the events to preprocess</param> /// <param name="entries">descriptors for pre-processing to apply</param> public InternalEventRouterPreprocessor(EventBeanCopyMethod copyMethod, IEnumerable <InternalEventRouterEntry> entries) { var tempIndex = 0; var tempList = entries .Select(tempEntry => new Pair <int, InternalEventRouterEntry>(tempIndex++, tempEntry)) .ToList(); tempList.Sort(DoCompare); _copyMethod = copyMethod; _entries = tempList.Select(pair => pair.Second).ToArray(); _empty = _entries.Length == 0; }
/// <summary>Ctor. </summary> /// <param name="wrapperEventType">wrapper type</param> /// <param name="eventAdapterService">for creating events</param> /// <param name="underlyingCopyMethod">for copying the underlying event</param> public WrapperEventBeanUndCopyMethod(WrapperEventType wrapperEventType, EventAdapterService eventAdapterService, EventBeanCopyMethod underlyingCopyMethod) { _wrapperEventType = wrapperEventType; _eventAdapterService = eventAdapterService; _underlyingCopyMethod = underlyingCopyMethod; }
public EventBeanUpdateHelper(EventBeanCopyMethod copyMethod, EventBeanUpdateItem[] updateItems) { _copyMethod = copyMethod; _updateItems = updateItems; }