public static CodegenMethod GetBeanArrayValueCodegen( CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope, BeanEventPropertyGetter nestedGetter, int index) { return codegenMethodScope.MakeChild(typeof(object), typeof(BaseNestableEventUtil), codegenClassScope) .AddParam(typeof(object), "value") .Block .IfRefNullReturnNull("value") .IfNotInstanceOf("value", typeof(Array)) .BlockReturn(ConstantNull()) .DeclareVar<Array>("array", Cast<Array>(Ref("value"))) .IfConditionReturnConst( Relational(ExprDotName(Ref("array"), "Length"), LE, Constant(index)), null) .DeclareVar<object>( "arrayItem", ExprDotMethod(Ref("array"), "GetValue", Constant(index))) .IfRefNullReturnNull("arrayItem") .MethodReturn( nestedGetter.UnderlyingGetCodegen( Cast(nestedGetter.TargetType, Ref("arrayItem")), codegenMethodScope, codegenClassScope)); }
/// <summary> /// Ctor. /// </summary> /// <param name="entryGetter">the getter for the map entry</param> /// <param name="eventAdapterService">for producing wrappers to objects</param> /// <param name="returnType">type of the entry returned</param> /// <param name="propertyIndex">index</param> /// <param name="nestedComponentType">nested component type</param> public ObjectArrayPonoEntryPropertyGetter(int propertyIndex, BeanEventPropertyGetter entryGetter, EventAdapterService eventAdapterService, Type returnType, Type nestedComponentType) : base(eventAdapterService, returnType, nestedComponentType) { _propertyIndex = propertyIndex; _entryGetter = entryGetter; }
/// <summary> /// Ctor. /// </summary> /// <param name="propertyMap">the property to look at</param> /// <param name="mapEntryGetter">the getter for the map entry</param> /// <param name="eventAdapterService">for producing wrappers to objects</param> /// <param name="returnType">type of the entry returned</param> /// <param name="nestedComponentType">nested type</param> public MapPonoEntryPropertyGetter(string propertyMap, BeanEventPropertyGetter mapEntryGetter, EventAdapterService eventAdapterService, Type returnType, Type nestedComponentType) : base(eventAdapterService, returnType, nestedComponentType) { _propertyMap = propertyMap; _mapEntryGetter = mapEntryGetter; }
/// <summary> /// Ctor. /// </summary> /// <param name="propertyMap">the property to look at</param> /// <param name="nestedGetter">the getter for the map entry</param> /// <param name="eventAdapterService">for producing wrappers to objects</param> /// <param name="index">the index to fetch the array element for</param> /// <param name="returnType">type of the entry returned</param> public MapArrayPonoBeanEntryIndexedPropertyGetter(string propertyMap, int index, BeanEventPropertyGetter nestedGetter, EventAdapterService eventAdapterService, Type returnType) : base(eventAdapterService, returnType, null) { _propertyMap = propertyMap; _index = index; _nestedGetter = nestedGetter; }
public EventPropertyGetterSPI GetGetterIndexedEntryPono( string propertyNameAtomic, int index, BeanEventPropertyGetter nestedGetter, EventAdapterService eventAdapterService, Type propertyTypeGetter) { return new MapArrayPonoBeanEntryIndexedPropertyGetter(propertyNameAtomic, index, nestedGetter, eventAdapterService, propertyTypeGetter); }
public EventPropertyGetterSPI GetGetterNestedPonoProp( string propertyName, BeanEventPropertyGetter nestedGetter, EventAdapterService eventAdapterService, Type nestedReturnType, Type nestedComponentType) { return new MapPonoEntryPropertyGetter(propertyName, nestedGetter, eventAdapterService, nestedReturnType, nestedComponentType); }
public EventPropertyGetter GetGetterNestedPONOProp( String propertyName, BeanEventPropertyGetter nestedGetter, EventAdapterService eventAdapterService, Type nestedReturnType, Type nestedComponentType) { return(new MapObjectEntryPropertyGetter( propertyName, nestedGetter, eventAdapterService, nestedReturnType, nestedComponentType)); }
public JsonGetterNestedPONOPropProvided( EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory, Type returnType, Type genericType, FieldInfo field, BeanEventPropertyGetter nestedGetter) : base(eventBeanTypedEventFactory, beanEventTypeFactory, returnType, genericType) { this.field = field; this.nestedGetter = nestedGetter; }
/// <summary>Ctor. </summary> /// <param name="propertyIndex">the property to look at</param> /// <param name="nestedGetter">the getter for the map entry</param> /// <param name="eventAdapterService">for producing wrappers to objects</param> /// <param name="index">the index to fetch the array element for</param> /// <param name="returnType">type of the entry returned</param> public ObjectArrayArrayPONOBeanEntryIndexedPropertyGetter(int propertyIndex, int index, BeanEventPropertyGetter nestedGetter, EventAdapterService eventAdapterService, Type returnType) : base(eventAdapterService, returnType, null) { _propertyIndex = propertyIndex; _index = index; _nestedGetter = nestedGetter; }
public ObjectArrayArrayPONOBeanEntryIndexedPropertyGetter( int propertyIndex, int index, BeanEventPropertyGetter nestedGetter, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory, Type returnType) : base(eventBeanTypedEventFactory, beanEventTypeFactory, returnType, null) { this.propertyIndex = propertyIndex; this.index = index; this.nestedGetter = nestedGetter; }
public JsonGetterIndexedEntryPONOProvided( FieldInfo field, int index, BeanEventPropertyGetter nestedGetter, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory, Type returnType) : base(eventBeanTypedEventFactory, beanEventTypeFactory, returnType, null) { this.field = field; this.index = index; this.nestedGetter = nestedGetter; }
public MapArrayPONOBeanEntryIndexedPropertyGetter( string propertyMap, int index, BeanEventPropertyGetter nestedGetter, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory, Type returnType) : base(eventBeanTypedEventFactory, beanEventTypeFactory, returnType, null) { this.propertyMap = propertyMap; this.index = index; this.nestedGetter = nestedGetter; }
public EventPropertyGetterSPI GetGetterIndexedEntryPONO( string propertyNameAtomic, int index, BeanEventPropertyGetter nestedGetter, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory, Type propertyTypeGetter) { return new MapArrayPONOBeanEntryIndexedPropertyGetter( propertyNameAtomic, index, nestedGetter, eventBeanTypedEventFactory, beanEventTypeFactory, propertyTypeGetter); }
public EventPropertyGetterSPI GetGetterNestedPONOProp( string propertyName, BeanEventPropertyGetter nestedGetter, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory, Type nestedReturnType, Type nestedComponentType) { return new MapPONOEntryPropertyGetter( propertyName, nestedGetter, eventBeanTypedEventFactory, nestedReturnType, nestedComponentType, beanEventTypeFactory); }
public MapPONOEntryPropertyGetter( string propertyMap, BeanEventPropertyGetter mapEntryGetter, EventBeanTypedEventFactory eventBeanTypedEventFactory, Type returnType, Type nestedComponentType, BeanEventTypeFactory beanEventTypeFactory) : base( eventBeanTypedEventFactory, beanEventTypeFactory, returnType, nestedComponentType) { this.propertyMap = propertyMap; this.mapEntryGetter = mapEntryGetter; }
public ObjectArrayPONOEntryPropertyGetter( int propertyIndex, BeanEventPropertyGetter entryGetter, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory, Type returnType, Type nestedComponentType) : base( eventBeanTypedEventFactory, beanEventTypeFactory, returnType, nestedComponentType) { this.propertyIndex = propertyIndex; this.entryGetter = entryGetter; }
public EventPropertyGetterSPI GetGetterNestedPONOProp( string propertyName, BeanEventPropertyGetter nestedGetter, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory, Type nestedReturnType, Type nestedComponentType) { var index = GetAssertIndex(propertyName); return new ObjectArrayPONOEntryPropertyGetter( index, nestedGetter, eventBeanTypedEventFactory, beanEventTypeFactory, nestedReturnType, nestedComponentType); }
public EventPropertyGetterSPI GetGetterIndexedEntryPONO( string propertyNameAtomic, int index, BeanEventPropertyGetter nestedGetter, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory, Type propertyTypeGetter) { var propertyIndex = GetAssertIndex(propertyNameAtomic); return new ObjectArrayArrayPONOBeanEntryIndexedPropertyGetter( propertyIndex, index, nestedGetter, eventBeanTypedEventFactory, beanEventTypeFactory, propertyTypeGetter); }
public static string GetBeanArrayValueCodegen( ICodegenContext context, BeanEventPropertyGetter nestedGetter, int index) { return(context.AddMethod(typeof(object), typeof(object), "value", typeof(BaseNestableEventUtil)) .IfRefNullReturnNull("value") .IfConditionReturnConst( Not(ExprDotMethodChain(Ref("value")).AddNoParam("getClass") .AddNoParam("isArray")), null) .IfConditionReturnConst( Relational(StaticMethod(typeof(Array), "getLength", Ref("value")), CodegenRelational.LE, Constant(index)), null) .DeclareVar(typeof(object), "arrayItem", StaticMethod(typeof(Array), "get", Ref("value"), Constant(index))) .IfRefNullReturnNull("arrayItem") .MethodReturn( nestedGetter.CodegenUnderlyingGet(Cast(nestedGetter.TargetType, Ref("arrayItem")), context))); }
public static object GetBeanArrayValue(BeanEventPropertyGetter nestedGetter, object value, int index) { if (value is Array valueAsArray) { if (valueAsArray.Length <= index) { return(null); } var arrayItem = valueAsArray.GetValue(index); if (arrayItem == null) { return(null); } return(nestedGetter.GetBeanProp(arrayItem)); } return(null); }
public static Object GetBeanArrayValue(BeanEventPropertyGetter nestedGetter, Object value, int index) { var asArray = value as Array; if (asArray == null) { return(null); } if (asArray.Length <= index) { return(null); } var arrayItem = asArray.GetValue(index); if (arrayItem == null) { return(null); } return(nestedGetter.GetBeanProp(arrayItem)); }
public EventPropertyGetterSPI GetGetterIndexedEntryPONO( string propertyNameAtomic, int index, BeanEventPropertyGetter nestedGetter, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory, Type propertyTypeGetter) { var field = FindField(propertyNameAtomic); if (field.OptionalField == null) { throw MakeIllegalState(); } return(new JsonGetterIndexedEntryPONOProvided( field.OptionalField, index, nestedGetter, eventBeanTypedEventFactory, beanEventTypeFactory, propertyTypeGetter)); }
public EventPropertyGetterSPI GetGetterNestedPONOProp( string propertyName, BeanEventPropertyGetter nestedGetter, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory, Type nestedReturnType, Type nestedComponentType) { var field = FindField(propertyName); if (field == null || field.OptionalField == null) { return(null); } return(new JsonGetterNestedPONOPropProvided( eventBeanTypedEventFactory, beanEventTypeFactory, nestedReturnType, nestedComponentType, field.OptionalField, nestedGetter)); }
public static CodegenMethod GetBeanArrayValueExistsCodegen( CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope, BeanEventPropertyGetter nestedGetter, int index) { // TBD - array comparisons that need to be fixed return codegenMethodScope .MakeChild(typeof(bool), typeof(BaseNestableEventUtil), codegenClassScope) .AddParam(typeof(object), "value") .Block .IfRefNullReturnFalse("value") .IfConditionReturnConst( Not(ExprDotMethodChain(Ref("value")).Add("GetType").Get("IsArray")), false) .DeclareVar<Array>("asArray", Cast(typeof(Array), Ref("value"))) .IfConditionReturnConst( Relational( ExprDotName(Ref("asArray"), "Length"), LE, Constant(index)), false) .DeclareVar<object>( "arrayItem", ExprDotMethod( Ref("asArray"), "GetValue", Constant(index))) .IfRefNullReturnFalse("arrayItem") .MethodReturn( nestedGetter.UnderlyingExistsCodegen( Cast(nestedGetter.TargetType, Ref("arrayItem")), codegenMethodScope, codegenClassScope)); }
public EventPropertyGetter GetGetterNestedPONOProp(String propertyName, BeanEventPropertyGetter nestedGetter, EventAdapterService eventAdapterService, Type nestedReturnType, Type nestedComponentType) { int index = GetAssertIndex(propertyName); return(new ObjectArrayPONOEntryPropertyGetter(index, nestedGetter, eventAdapterService, nestedReturnType, nestedComponentType)); }
public EventPropertyGetter GetGetterIndexedEntryPONO(String propertyNameAtomic, int index, BeanEventPropertyGetter nestedGetter, EventAdapterService eventAdapterService, Type propertyTypeGetter) { int propertyIndex = GetAssertIndex(propertyNameAtomic); return(new ObjectArrayArrayPONOBeanEntryIndexedPropertyGetter(propertyIndex, index, nestedGetter, eventAdapterService, propertyTypeGetter)); }