public MapNestedEntryPropertyGetterArrayMap(string propertyMap, EventType fragmentType,
     EventAdapterService eventAdapterService, int index, MapEventPropertyGetter getter)
     : base(propertyMap, fragmentType, eventAdapterService)
 {
     _index = index;
     _getter = getter;
 }
 public EventPropertyGetterSPI GetGetterNestedMapProp(
     string propertyName,
     MapEventPropertyGetter getterNested)
 {
     var index = GetAssertIndex(propertyName);
     return new ObjectArrayMapPropertyGetter(index, getterNested);
 }
Example #3
0
        public static Object HandleNestedValueArrayWithMap(Object value, int index, MapEventPropertyGetter getter)
        {
            var asArray = value as Array;

            if (asArray == null)
            {
                return(null);
            }

            if (asArray.Length <= index)
            {
                return(null);
            }

            var valueMap = asArray.GetValue(index);

            if (!(valueMap is DataMap))
            {
                if (valueMap is EventBean)
                {
                    return(getter.Get((EventBean)valueMap));
                }
                return(null);
            }
            return(getter.GetMap((IDictionary <String, Object>)valueMap));
        }
        private Object HandleGetterTrailingChain(Object result)
        {
            for (int i = 1; i < _mapGetterChain.Length; i++)
            {
                if (result == null)
                {
                    return(null);
                }

                MapEventPropertyGetter getter = _mapGetterChain[i];
                if (!(result is Map))
                {
                    if (result is EventBean)
                    {
                        result = getter.Get((EventBean)result);
                    }
                    else
                    {
                        return(null);
                    }
                }
                else
                {
                    result = getter.GetMap((IDictionary <String, Object>)result);
                }
            }
            return(result);
        }
 /// <summary>
 /// Ctor.
 /// </summary>
 /// <param name="index">The index.</param>
 /// <param name="getter">is the getter to use to interrogate the property in the map</param>
 public ObjectArrayMapPropertyGetter(int index, MapEventPropertyGetter getter)
 {
     if (getter == null)
     {
         throw new ArgumentException("Getter is a required parameter");
     }
     _index  = index;
     _getter = getter;
 }
Example #6
0
 public MapNestedEntryPropertyGetterMap(
     string propertyMap,
     EventType fragmentType,
     EventBeanTypedEventFactory eventBeanTypedEventFactory,
     MapEventPropertyGetter mapGetter)
     : base(propertyMap, fragmentType, eventBeanTypedEventFactory)
 {
     this.mapGetter = mapGetter;
 }
Example #7
0
 public ObjectArrayNestedEntryPropertyGetterMap(
     int propertyIndex,
     EventType fragmentType,
     EventBeanTypedEventFactory eventBeanTypedEventFactory,
     MapEventPropertyGetter mapGetter)
     : base(propertyIndex, fragmentType, eventBeanTypedEventFactory)
 {
     this.mapGetter = mapGetter;
 }
Example #8
0
 /// <summary>Ctor. </summary>
 /// <param name="propertyMap">is the property returning the map to interrogate</param>
 /// <param name="getter">is the getter to use to interrogate the property in the map</param>
 public MapMapPropertyGetter(String propertyMap, MapEventPropertyGetter getter)
 {
     if (getter == null)
     {
         throw new ArgumentException("Getter is a required parameter");
     }
     _propertyMap = propertyMap;
     _getter      = getter;
 }
Example #9
0
 public MapNestedEntryPropertyGetterArrayMap(
     string propertyMap,
     EventType fragmentType,
     EventBeanTypedEventFactory eventBeanTypedEventFactory,
     int index,
     MapEventPropertyGetter getter)
     : base(propertyMap, fragmentType, eventBeanTypedEventFactory)
 {
     this.index = index;
     this.getter = getter;
 }
Example #10
0
 public ObjectArrayNestedEntryPropertyGetterArrayMap(
     int propertyIndex,
     EventType fragmentType,
     EventBeanTypedEventFactory eventBeanTypedEventFactory,
     int index,
     MapEventPropertyGetter getter)
     : base(propertyIndex, fragmentType, eventBeanTypedEventFactory)
 {
     this.index = index;
     this.getter = getter;
 }
        public static ICodegenExpression HandleNestedValueArrayWithMapCode(
            int index,
            MapEventPropertyGetter getter,
            ICodegenExpression @ref,
            ICodegenContext context,
            Type generator)
        {
            var method = CodegenBlockPropertyBeanOrUnd.From(context, typeof(Map), getter,
                                                            CodegenBlockPropertyBeanOrUnd.AccessType.GET, generator);

            return(LocalMethod(method, StaticMethodTakingExprAndConst(typeof(BaseNestableEventUtil), "GetBNArrayValueAtIndex", @ref, index)));
        }
Example #12
0
        public static object HandleNestedValueArrayWithMap(
            object value,
            int index,
            MapEventPropertyGetter getter)
        {
            var valueMap = GetBNArrayValueAtIndex(value, index);
            if (!(valueMap is Map)) {
                if (valueMap is EventBean) {
                    return getter.Get((EventBean) valueMap);
                }

                return null;
            }

            return getter.GetMap((IDictionary<string, object>) valueMap);
        }
Example #13
0
        public static bool HandleNestedValueArrayWithMapExists(
            object value,
            int index,
            MapEventPropertyGetter getter)
        {
            var valueMap = GetBNArrayValueAtIndex(value, index);
            if (!(valueMap is Map)) {
                if (valueMap is EventBean) {
                    return getter.IsExistsProperty((EventBean) valueMap);
                }

                return false;
            }

            return getter.IsMapExistsProperty((IDictionary<string, object>) valueMap);
        }
        private bool HandleIsExistsTrailingChain(Object result)
        {
            for (int i = 1; i < _mapGetterChain.Length; i++)
            {
                if (result == null)
                {
                    return(false);
                }

                MapEventPropertyGetter getter = _mapGetterChain[i];

                if (i == _mapGetterChain.Length - 1)
                {
                    if (!(result is Map))
                    {
                        if (result is EventBean)
                        {
                            return(getter.IsExistsProperty((EventBean)result));
                        }
                        return(false);
                    }
                    else
                    {
                        return(getter.IsMapExistsProperty((IDictionary <String, Object>)result));
                    }
                }

                if (!(result is Map))
                {
                    if (result is EventBean)
                    {
                        result = getter.Get((EventBean)result);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    result = getter.GetMap((IDictionary <String, Object>)result);
                }
            }
            return(true);
        }
        public static bool HandleNestedValueArrayWithMapExists(
            object value,
            int index,
            MapEventPropertyGetter getter)
        {
            var valueResult = GetBNArrayValueAtIndex(value, index);

            if (!(valueResult is Map valueMap))
            {
                if (valueResult is EventBean eventBean)
                {
                    return(getter.IsExistsProperty(eventBean));
                }

                return(false);
            }

            return(getter.IsMapExistsProperty(valueMap));
        }
        public static object HandleBNNestedValueArrayWithMapFragment(object value, int index,
                                                                     MapEventPropertyGetter getter, EventAdapterService eventAdapterService, EventType fragmentType)
        {
            var valueMap = GetBNArrayValueAtIndex(value, index);

            if (valueMap is Map valueMapAsMap)
            {
                // If the map does not contain the key, this is allowed and represented as null
                var eventBean = eventAdapterService.AdapterForTypedMap(valueMapAsMap, fragmentType);
                return(getter.GetFragment(eventBean));
            }

            if (value is EventBean bean)
            {
                return(getter.GetFragment(bean));
            }

            return(null);
        }
        public static object HandleNestedValueArrayWithMap(
            object value,
            int index,
            MapEventPropertyGetter getter)
        {
            var valueMap = GetBNArrayValueAtIndex(value, index);

            if (valueMap is Map valueAsMap)
            {
                return(getter.GetMap(valueAsMap));
            }

            if (valueMap is EventBean eventBean)
            {
                return(getter.Get(eventBean));
            }

            return(null);
        }
Example #18
0
 public static CodegenExpression HandleNestedValueArrayWithMapExistsCode(
     int index,
     MapEventPropertyGetter getter,
     CodegenExpression @ref,
     CodegenMethodScope codegenMethodScope,
     CodegenClassScope codegenClassScope,
     Type generator)
 {
     var method = CodegenLegoPropertyBeanOrUnd.From(
         codegenMethodScope,
         codegenClassScope,
         typeof(Map),
         getter,
         CodegenLegoPropertyBeanOrUnd.AccessType.EXISTS,
         generator);
     return LocalMethod(
         method,
         StaticMethod(typeof(BaseNestableEventUtil), "GetBNArrayValueAtIndex", @ref, Constant(index)));
 }
Example #19
0
        public static object HandleBNNestedValueArrayWithMapFragment(
            object value,
            int index,
            MapEventPropertyGetter getter,
            EventBeanTypedEventFactory eventBeanTypedEventFactory,
            EventType fragmentType)
        {
            var valueMap = GetBNArrayValueAtIndex(value, index);
            if (!(valueMap is Map)) {
                if (value is EventBean) {
                    return getter.GetFragment((EventBean) value);
                }

                return null;
            }

            // If the map does not contain the key, this is allowed and represented as null
            EventBean eventBean = eventBeanTypedEventFactory.AdapterForTypedMap(
                (IDictionary<string, object>) valueMap,
                fragmentType);
            return getter.GetFragment(eventBean);
        }
 public ObjectArrayNestedEntryPropertyGetterArrayMap(int propertyIndex, EventType fragmentType, EventAdapterService eventAdapterService, int index, MapEventPropertyGetter getter)
     : base(propertyIndex, fragmentType, eventAdapterService)
 {
     _index  = index;
     _getter = getter;
 }
Example #21
0
        public EventPropertyGetter GetGetterNestedMapProp(String propertyName, MapEventPropertyGetter getterNested)
        {
            int index = GetAssertIndex(propertyName);

            return(new ObjectArrayMapPropertyGetter(index, getterNested));
        }
 public ObjectArrayNestedEntryPropertyGetterMap(int propertyIndex, EventType fragmentType, EventAdapterService eventAdapterService, MapEventPropertyGetter mapGetter)
     : base(propertyIndex, fragmentType, eventAdapterService)
 {
     this.mapGetter = mapGetter;
 }
 public MapNestedEntryPropertyGetterMap(String propertyMap, EventType fragmentType, EventAdapterService eventAdapterService, MapEventPropertyGetter mapGetter)
     : base(propertyMap, fragmentType, eventAdapterService)
 {
     _mapGetter = mapGetter;
 }
Example #24
0
        public static bool HandleNestedValueArrayWithMapExists(Object value, int index, MapEventPropertyGetter getter)
        {
            var asArray = value as Array;

            if (asArray == null)
            {
                return(false);
            }

            if (asArray.Length <= index)
            {
                return(false);
            }

            var valueMap = asArray.GetValue(index);

            if (!(valueMap is DataMap))
            {
                if (valueMap is EventBean)
                {
                    return(getter.IsExistsProperty((EventBean)valueMap));
                }
                return(false);
            }
            return(getter.IsMapExistsProperty((DataMap)valueMap));
        }
Example #25
0
 /// <summary>
 ///     Ctor.
 /// </summary>
 /// <param name="propertyMap">is the property returning the map to interrogate</param>
 /// <param name="getter">is the getter to use to interrogate the property in the map</param>
 public MapMapPropertyGetter(string propertyMap, MapEventPropertyGetter getter)
 {
     _propertyMap = propertyMap;
     _getter = getter ?? throw new ArgumentException("Getter is a required parameter");
 }
 public EventPropertyGetterSPI GetGetterNestedMapProp(
     string propertyName,
     MapEventPropertyGetter getterNestedMap)
 {
     return(null);
 }
 public EventPropertyGetter GetGetterNestedMapProp(String propertyName, MapEventPropertyGetter getterNestedMap)
 {
     return(new MapMapPropertyGetter(propertyName, getterNestedMap));
 }
Example #28
0
 public EventPropertyGetterSPI GetGetterNestedMapProp(
     string propertyName,
     MapEventPropertyGetter getterNestedMap)
 {
     return new MapMapPropertyGetter(propertyName, getterNestedMap);
 }
Example #29
0
        public static Object HandleNestedValueArrayWithMapFragment(Object value, int index, MapEventPropertyGetter getter, EventAdapterService eventAdapterService, EventType fragmentType)
        {
            var asArray = value as Array;

            if (asArray == null)
            {
                return(null);
            }

            if (asArray.Length <= index)
            {
                return(null);
            }

            var valueMap = asArray.GetValue(index);

            if (!(valueMap is DataMap))
            {
                if (valueMap is EventBean)
                {
                    return(getter.GetFragment((EventBean)valueMap));
                }
                return(null);
            }

            // If the map does not contain the key, this is allowed and represented as null
            var eventBean = eventAdapterService.AdapterForTypedMap((IDictionary <String, Object>)valueMap, fragmentType);

            return(getter.GetFragment(eventBean));
        }