コード例 #1
0
ファイル: AvroEventType.cs プロジェクト: hahanonym/nesper
        public AvroEventType(
            EventTypeMetadata metadata,
            Schema avroSchema,
            string startTimestampPropertyName,
            string endTimestampPropertyName,
            EventType[] optionalSuperTypes,
            ISet<EventType> deepSupertypes,
            EventBeanTypedEventFactory eventBeanTypedEventFactory,
            EventTypeAvroHandler eventTypeAvroHandler)
        {
            Metadata = metadata;
            _avroSchema = avroSchema;
            _optionalSuperTypes = optionalSuperTypes;
            _deepSupertypes = deepSupertypes ?? new EmptySet<EventType>();
            _propertyItems = new LinkedHashMap<string, PropertySetDescriptorItem>();
            _eventBeanTypedEventFactory = eventBeanTypedEventFactory;
            _eventTypeAvroHandler = eventTypeAvroHandler;

            Init();

            var desc = EventTypeUtility.ValidatedDetermineTimestampProps(
                this,
                startTimestampPropertyName,
                endTimestampPropertyName,
                optionalSuperTypes);
            StartTimestampPropertyName = desc.Start;
            EndTimestampPropertyName = desc.End;
        }
コード例 #2
0
        /// <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;
        }
コード例 #3
0
ファイル: AvroEventType.cs プロジェクト: qinfengzhu/nesper
        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;
        }
コード例 #4
0
        public BeanEventType(
            IContainer container,
            BeanEventTypeStem stem,
            EventTypeMetadata metadata,
            BeanEventTypeFactory beanEventTypeFactory,
            EventType[] superTypes,
            ICollection<EventType> deepSuperTypes,
            string startTimestampPropertyName,
            string endTimestampPropertyName)
        {
            _container = container;
            Stem = stem;
            Metadata = metadata;
            _beanEventTypeFactory = beanEventTypeFactory;
            SuperTypes = superTypes;
            DeepSuperTypesCollection = deepSuperTypes;

            var desc = EventTypeUtility.ValidatedDetermineTimestampProps(
                this,
                startTimestampPropertyName,
                endTimestampPropertyName,
                superTypes);
            StartTimestampPropertyName = desc.Start;
            EndTimestampPropertyName = desc.End;
        }
コード例 #5
0
        /// <summary>
        ///     Constructor takes a type name, map of property names and types, for
        ///     use with nestable Map events.
        /// </summary>
        /// <param name="propertyTypes">is pairs of property name and type</param>
        /// <param name="optionalSuperTypes">the supertypes to this type if any, or null if there are no supertypes</param>
        /// <param name="optionalDeepSuperTypes">the deep supertypes to this type if any, or null if there are no deep supertypes</param>
        /// <param name="metadata">event type metadata</param>
        /// <param name="getterFactory">getter factory</param>
        /// <param name="beanEventTypeFactory">bean factory</param>
        /// <param name="endTimestampPropertyName">end timestamp</param>
        /// <param name="startTimestampPropertyName">start timestamp</param>
        /// <param name="publicFields"></param>
        protected BaseNestableEventType(
            EventTypeMetadata metadata,
            IDictionary<string, object> propertyTypes,
            EventType[] optionalSuperTypes,
            ISet<EventType> optionalDeepSuperTypes,
            string startTimestampPropertyName,
            string endTimestampPropertyName,
            EventTypeNestableGetterFactory getterFactory,
            BeanEventTypeFactory beanEventTypeFactory,
            bool publicFields)
        {
            _metadata = metadata;
            _getterFactory = getterFactory;
            _beanEventTypeFactory = beanEventTypeFactory;
            _publicFields = publicFields;
            _startTimestampPropertyName = startTimestampPropertyName;
            _endTimestampPropertyName = endTimestampPropertyName;

            _optionalSuperTypes = optionalSuperTypes;
            _optionalDeepSuperTypes = optionalDeepSuperTypes ?? Collections.GetEmptySet<EventType>();

            // determine property set and prepare getters
            var propertySet = EventTypeUtility.GetNestableProperties(
                propertyTypes,
                beanEventTypeFactory.EventBeanTypedEventFactory,
                getterFactory,
                optionalSuperTypes,
                beanEventTypeFactory,
                publicFields);

            _nestableTypes = propertySet.NestableTypes;
            _propertyNames = propertySet.PropertyNameArray;
            _propertyItems = propertySet.PropertyItems;
            _propertyDescriptors = propertySet.PropertyDescriptors.ToArray();

            var desc = EventTypeUtility.ValidatedDetermineTimestampProps(
                this,
                startTimestampPropertyName,
                endTimestampPropertyName,
                optionalSuperTypes);
            _startTimestampPropertyName = desc.Start;
            _endTimestampPropertyName = desc.End;
        }
コード例 #6
0
ファイル: BaseNestableEventType.cs プロジェクト: ikvm/nesper
        /// <summary>
        /// Constructor takes a type name, map of property names and types, for use with nestable Map events.
        /// </summary>
        /// <param name="metadata">event type metadata</param>
        /// <param name="typeName">is the event type name used to distinquish map types that have the same property types,empty string for anonymous maps, or for insert-into statements generating map events the stream name</param>
        /// <param name="eventTypeId">The event type id.</param>
        /// <param name="eventAdapterService">is required for access to objects properties within map values</param>
        /// <param name="propertyTypes">is pairs of property name and type</param>
        /// <param name="optionalSuperTypes">the supertypes to this type if any, or null if there are no supertypes</param>
        /// <param name="optionalDeepSupertypes">the deep supertypes to this type if any, or null if there are no deep supertypes</param>
        /// <param name="typeConfig">The type config.</param>
        /// <param name="getterFactory">The getter factory.</param>
        protected BaseNestableEventType(
            EventTypeMetadata metadata,
            String typeName,
            int eventTypeId,
            EventAdapterService eventAdapterService,
            IDictionary <String, Object> propertyTypes,
            EventType[] optionalSuperTypes,
            ICollection <EventType> optionalDeepSupertypes,
            ConfigurationEventTypeWithSupertype typeConfig,
            EventTypeNestableGetterFactory getterFactory)
        {
            _metadata           = metadata;
            _eventTypeId        = eventTypeId;
            _typeName           = typeName;
            EventAdapterService = eventAdapterService;
            GetterFactory       = getterFactory;

            _optionalSuperTypes     = optionalSuperTypes;
            _optionalDeepSupertypes = optionalDeepSupertypes ?? Collections.GetEmptySet <EventType>();

            // determine property set and prepare getters
            var propertySet = EventTypeUtility.GetNestableProperties(
                propertyTypes, eventAdapterService, getterFactory, optionalSuperTypes);

            NestableTypes        = propertySet.NestableTypes;
            _propertyNames       = propertySet.PropertyNameArray;
            _propertyItems       = propertySet.PropertyItems;
            _propertyDescriptors = propertySet.PropertyDescriptors.ToArray();

            var desc = EventTypeUtility.ValidatedDetermineTimestampProps(
                this, typeConfig == null ? null : typeConfig.StartTimestampPropertyName,
                typeConfig == null ? null : typeConfig.EndTimestampPropertyName, optionalSuperTypes);

            _startTimestampPropertyName = desc.Start;
            _endTimestampPropertyName   = desc.End;
        }
コード例 #7
0
ファイル: BeanEventType.cs プロジェクト: qinfengzhu/nesper
        /// <summary>
        /// Constructor takes a class as an argument.
        /// </summary>
        /// <param name="container">The container.</param>
        /// <param name="metadata">event type metadata</param>
        /// <param name="eventTypeId">type id</param>
        /// <param name="clazz">is the class of a java bean or other POJO</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(
            IContainer container,
            EventTypeMetadata metadata,
            int eventTypeId,
            Type clazz,
            EventAdapterService eventAdapterService,
            ConfigurationEventTypeLegacy optionalLegacyDef)
        {
            _container = container;
            _metadata = metadata;
            _clazz = 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, EventPropertyGetterSPI>();

            Initialize(false, eventAdapterService.EngineImportService);

            var desc = EventTypeUtility.ValidatedDetermineTimestampProps(
                this,
                optionalLegacyDef == null ? null : optionalLegacyDef.StartTimestampPropertyName,
                optionalLegacyDef == null ? null : optionalLegacyDef.EndTimestampPropertyName, _superTypes);
            _startTimestampPropertyName = desc.Start;
            _endTimestampPropertyName = desc.End;
        }