/// <summary> /// Ctor. /// </summary> /// <param name="variantSpec">specifies how to handle the disparate events</param> /// <param name="eventTypeIdGenerator">The event type id generator.</param> /// <param name="config">The config.</param> public VAEVariantProcessor(VariantSpec variantSpec, EventTypeIdGenerator eventTypeIdGenerator, ConfigurationVariantStream config) { VariantSpec = variantSpec; VariantPropResolutionStrategy strategy; if (variantSpec.TypeVariance == TypeVarianceEnum.ANY) { strategy = new VariantPropResolutionStrategyAny(variantSpec); } else { strategy = new VariantPropResolutionStrategyDefault(variantSpec); } EventTypeMetadata metadata = EventTypeMetadata.CreateValueAdd(variantSpec.VariantStreamName, TypeClass.VARIANT); VariantEventType = new VariantEventType(metadata, eventTypeIdGenerator.GetTypeId(variantSpec.VariantStreamName), variantSpec, strategy, config); }
/// <summary>Ctor. </summary> /// <param name="variantEventType">the event type</param> /// <param name="underlying">the event</param> public VariantEventBean(VariantEventType variantEventType, EventBean underlying) { this.variantEventType = variantEventType; this.underlyingEventBean = underlying; }
/// <summary> /// Ctor. /// </summary> /// <param name="variantEventType">the event type</param> /// <param name="underlying">the event</param> public VariantEventBean(VariantEventType variantEventType, EventBean underlying) { _variantEventType = variantEventType; _underlyingEventBean = underlying; }