/// <summary> /// Constructor takes a class as an argument. /// </summary> /// <param name="metadata">event type metadata</param> /// <param name="eventTypeId">The event type id.</param> /// <param name="clazz">is the class of an object</param> /// <param name="eventAdapterService">factory for event beans and event types</param> /// <param name="optionalLegacyDef">optional configuration supplying legacy event type information</param> public BeanEventType(EventTypeMetadata metadata, int eventTypeId, Type clazz, EventAdapterService eventAdapterService, ConfigurationEventTypeLegacy optionalLegacyDef) { Metadata = metadata; UnderlyingType = clazz; _eventAdapterService = eventAdapterService; OptionalLegacyDef = optionalLegacyDef; EventTypeId = eventTypeId; if (optionalLegacyDef != null) { FactoryMethodName = optionalLegacyDef.FactoryMethod; _copyMethodName = optionalLegacyDef.CopyMethod; PropertyResolutionStyle = optionalLegacyDef.PropertyResolutionStyle; } else { PropertyResolutionStyle = eventAdapterService.BeanEventTypeFactory.DefaultPropertyResolutionStyle; } _propertyGetterCache = new Dictionary <String, EventPropertyGetter>(); Initialize(false); EventTypeUtility.TimestampPropertyDesc desc = EventTypeUtility.ValidatedDetermineTimestampProps( this, optionalLegacyDef == null ? null : optionalLegacyDef.StartTimestampPropertyName, optionalLegacyDef == null ? null : optionalLegacyDef.EndTimestampPropertyName, SuperTypes); StartTimestampPropertyName = desc.Start; EndTimestampPropertyName = desc.End; }
public AvroEventType( EventTypeMetadata metadata, string eventTypeName, int typeId, EventAdapterService eventAdapterService, RecordSchema avroSchema, string startTimestampPropertyName, string endTimestampPropertyName, EventType[] optionalSuperTypes, ICollection<EventType> deepSupertypes) { _metadata = metadata; _typeId = typeId; _eventAdapterService = eventAdapterService; _avroSchema = avroSchema; _optionalSuperTypes = optionalSuperTypes; _deepSupertypes = deepSupertypes ?? Collections.GetEmptySet<EventType>(); _propertyItems = new LinkedHashMap<string, PropertySetDescriptorItem>(); Init(); EventTypeUtility.TimestampPropertyDesc desc = EventTypeUtility.ValidatedDetermineTimestampProps( this, startTimestampPropertyName, endTimestampPropertyName, optionalSuperTypes); _startTimestampPropertyName = desc.Start; _endTimestampPropertyName = desc.End; }