コード例 #1
0
        public FragmentEventType GetFragmentType(string propertyExpression)
        {
            var simpleProp = GetSimplePropertyInfo(propertyExpression);
            if (simpleProp != null && simpleProp.Clazz != null) {
                var genericPropX = simpleProp.Descriptor.ReturnTypeGeneric;
                return EventBeanUtility.CreateNativeFragmentType(
                    genericPropX.GenericType,
                    genericPropX.Generic,
                    _beanEventTypeFactory,
                    Stem.IsPublicFields);
            }

            var prop = PropertyParser.ParseAndWalkLaxToSimple(propertyExpression);
            if (prop is SimpleProperty) {
                // there is no such property since it wasn't in simplePropertyTypes
                return null;
            }

            var genericProp = prop.GetPropertyTypeGeneric(this, _beanEventTypeFactory);
            if (genericProp == null) {
                return null;
            }

            return EventBeanUtility.CreateNativeFragmentType(
                genericProp.GenericType,
                genericProp.Generic,
                _beanEventTypeFactory,
                Stem.IsPublicFields);
        }
コード例 #2
0
        public FragmentEventType GetFragmentType(String propertyExpression)
        {
            SimplePropertyInfo simpleProp = GetSimplePropertyInfo(propertyExpression);

            if ((simpleProp != null) && (simpleProp.PropertyType != null))
            {
                GenericPropertyDesc genericProp = simpleProp.Descriptor.GetReturnTypeGeneric();
                return(EventBeanUtility.CreateNativeFragmentType(genericProp.PropertyType, genericProp.GenericType, _eventAdapterService));
            }

            Property prop = PropertyParser.ParseAndWalk(propertyExpression, false);

            if (prop is SimpleProperty)
            {
                // there is no such property since it wasn't in simplePropertyTypes
                return(null);
            }

            GenericPropertyDesc genericPropertyDesc = prop.GetPropertyTypeGeneric(this, _eventAdapterService);

            if (genericPropertyDesc == null)
            {
                return(null);
            }
            return(EventBeanUtility.CreateNativeFragmentType(genericPropertyDesc.PropertyType, genericPropertyDesc.GenericType, _eventAdapterService));
        }
コード例 #3
0
ファイル: BeanEventType.cs プロジェクト: qinfengzhu/nesper
        public FragmentEventType GetFragmentType(string propertyExpression)
        {
            var simpleProp = GetSimplePropertyInfo(propertyExpression);
            if ((simpleProp != null) && (simpleProp.Clazz != null))
            {
                var genericProp = simpleProp.Descriptor.GetReturnTypeGeneric();
                return EventBeanUtility.CreateNativeFragmentType(
                    genericProp.GenericType, genericProp.Generic, _eventAdapterService);
            }

            var prop = PropertyParser.ParseAndWalkLaxToSimple(propertyExpression);
            if (prop is SimpleProperty)
            {
                // there is no such property since it wasn't in simplePropertyTypes
                return null;
            }

            var genericPropertyDesc = prop.GetPropertyTypeGeneric(this, _eventAdapterService);
            if (genericPropertyDesc == null)
            {
                return null;
            }
            return EventBeanUtility.CreateNativeFragmentType(
                genericPropertyDesc.GenericType, genericPropertyDesc.Generic, _eventAdapterService);
        }