protected CodegenExpression processSpecificCodegen(CodegenExpression resultEventType, CodegenExpression eventBeanFactory, CodegenExpression props, CodegenMethod methodNode, SelectExprProcessorCodegenSymbol selectEnv, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); return exprDotMethod(eventBeanFactory, "adapterForTypedWrapper", arrayAtIndex(refEPS, constant(0)), props, resultEventType); } }
public CodegenMethod processCodegen(CodegenExpression resultEventType, CodegenExpression eventBeanFactory, CodegenMethodScope codegenMethodScope, SelectExprProcessorCodegenSymbol selectSymbol, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { CodegenMethod methodNode = codegenMethodScope.makeChild(EventBean.class, this.getClass(), codegenClassScope); CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); CodegenExpression bean = exprDotMethod(arrayAtIndex(refEPS, constant(0)), "getUnderlying"); methodNode.getBlock().methodReturn(exprDotMethod(eventBeanFactory, "adapterForTypedAvro", bean, resultEventType)); return methodNode; } }
public CodegenMethod processCodegen(CodegenExpression resultEventType, CodegenExpression eventBeanFactory, CodegenMethodScope codegenMethodScope, SelectExprProcessorCodegenSymbol selectSymbol, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { CodegenMethod methodNode = codegenMethodScope.makeChild(EventBean.class, this.getClass(), codegenClassScope); CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); CodegenExpression value = exprDotMethod(cast(MappedEventBean.class, arrayAtIndex(refEPS, constant(underlyingStreamNumber))), "getProperties"); methodNode.getBlock().methodReturn(exprDotMethod(eventBeanFactory, "adapterForTypedMap", value, resultEventType)); return methodNode; } }
public CodegenMethod processCodegen(CodegenExpression resultEventType, CodegenExpression eventBeanFactory, CodegenMethodScope codegenMethodScope, SelectExprProcessorCodegenSymbol selectSymbol, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { CodegenMethod methodNode = codegenMethodScope.makeChild(EventBean.class, this.getClass(), codegenClassScope); CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); CodegenExpression value = exprDotMethod(cast(ObjectArrayBackedEventBean.class, arrayAtIndex(refEPS, constant(underlyingStreamNumber))), "getProperties"); methodNode.getBlock().methodReturn(exprDotMethod(eventBeanFactory, "adapterForTypedObjectArray", value, resultEventType)); return methodNode; } }
public CodegenMethod processCodegen(CodegenExpression resultEventType, CodegenExpression eventBeanFactory, CodegenMethodScope codegenMethodScope, SelectExprProcessorCodegenSymbol selectSymbol, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { CodegenExpressionField eventToPublic = TableDeployTimeResolver.makeTableEventToPublicField(table, codegenClassScope, this.getClass()); CodegenMethod methodNode = codegenMethodScope.makeChild(EventBean.class, this.getClass(), codegenClassScope); CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); CodegenExpression refIsNewData = exprSymbol.getAddIsNewData(methodNode); CodegenExpressionRef refExprEvalCtx = exprSymbol.getAddExprEvalCtx(methodNode); methodNode.getBlock() .declareVar(EventBean.class, "event", arrayAtIndex(refEPS, constant(0))) .ifRefNullReturnNull("event") .methodReturn(exprDotMethod(eventToPublic, "convert", ref("event"), refEPS, refIsNewData, refExprEvalCtx)); return methodNode; }
public CodegenExpression evaluateCodegen(Class requiredType, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { CodegenMethod methodNode = codegenMethodScope.makeChild(returnType, this.getClass(), codegenClassScope); CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); methodNode.getBlock() .declareVar(EventBean.class, "streamEvent", arrayAtIndex(refEPS, constant(streamNum))) .ifRefNullReturnNull("streamEvent") .methodReturn(CodegenLegoCast.castSafeFromObjectType(returnType, getter.eventBeanGetCodegen(ref("streamEvent"), methodNode, codegenClassScope))); return localMethod(methodNode); }
private CodegenMethod getFragmentCodegen(CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope) { return codegenMethodScope.makeChild(Object.class, this.getClass(), codegenClassScope).addParam(Object[].class, "array").getBlock() .declareVar(EventBean[].class, "wrapper", cast(EventBean[].class, arrayAtIndex(ref("array"), constant(propertyIndex)))) .methodReturn(staticMethod(BaseNestableEventUtil.class, "getBNArrayPropertyBean", ref("wrapper"), constant(index))); }
private CodegenMethod getFragmentCodegen(CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope) { return codegenMethodScope.makeChild(Object.class, this.getClass(), codegenClassScope).addParam(Object[].class, "array").getBlock() .declareVar(Object.class, "value", arrayAtIndex(ref("array"), constant(propertyIndex))) .ifRefNullReturnNull("value") .declareVarWCast(EventBean.class, "theEvent", "value") .methodReturn(eventBeanEntryGetter.eventBeanFragmentCodegen(ref("theEvent"), codegenMethodScope, codegenClassScope)); }
private CodegenMethod getObjectArrayCodegen(CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope) { return codegenMethodScope.makeChild(underlyingType, this.getClass(), codegenClassScope).addParam(Object[].class, "array").getBlock() .declareVar(Object.class, "eventBean", arrayAtIndex(ref("array"), constant(propertyIndex))) .ifRefNullReturnNull("eventBean") .methodReturn(cast(underlyingType, exprDotUnderlying(cast(EventBean.class, ref("eventBean"))))); }
protected void applyLeaveFiltered(CodegenMethod method, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope, CodegenNamedMethods namedMethods) { CodegenExpressionRef eps = symbols.getAddEPS(method); method.getBlock() .declareVar(EventBean.class, "theEvent", arrayAtIndex(eps, constant(forge.getStreamNum()))) .ifRefNull("theEvent").blockReturnNoValue() .exprDotMethod(events, "remove", ref("theEvent")); }
protected void applyEnterFiltered(CodegenMethod method, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope, CodegenNamedMethods namedMethods) { CodegenExpression eps = symbols.getAddEPS(method); CodegenMethod addEvent = addEventCodegen(method, classScope); method.getBlock().declareVar(EventBean.class, "theEvent", arrayAtIndex(eps, constant(forge.getStreamNum()))) .ifRefNull("theEvent").blockReturnNoValue() .localMethod(addEvent, ref("theEvent")); }
protected void applyLeaveFiltered(CodegenMethod method, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope, CodegenNamedMethods namedMethods) { CodegenExpression eps = symbols.getAddEPS(method); CodegenMethod removeEvent = removeEventCodegen(method, classScope); method.getBlock().declareVar(EventBean.class, "theEvent", arrayAtIndex(eps, constant(forge.getStreamNum()))) .ifRefNull("theEvent").blockReturnNoValue() .localMethod(removeEvent, ref("theEvent")); }
public CodegenExpression evaluateCodegen(Class requiredType, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { CodegenMethod methodNode = codegenMethodScope.makeChild(returnType, ExprEvalByGetter.class, codegenClassScope); CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); methodNode.getBlock() .declareVar(EventBean.class, "event", arrayAtIndex(refEPS, constant(streamNum))) .ifRefNullReturnNull("event") .methodReturn(CodegenLegoCast.castSafeFromObjectType(returnType, getter.eventBeanGetCodegen(ref("event"), methodNode, codegenClassScope))); return localMethod(methodNode); }
private CodegenExpression getNumGroupsCodegen(CodegenMethodScope parent, CodegenClassScope classScope) { CodegenMethod method = parent.makeChild(int.class, this.getClass(), classScope); method.getBlock().declareVar(int.class, "size", constant(0)) .ifCondition(notEqualsNull(REF_AGGREGATORSTOPLEVEL)).increment("size").blockEnd(); for (int i = 0; i < localGroupByPlan.getAllLevelsForges().length; i++) { method.getBlock().assignCompound("size", "+", exprDotMethod(arrayAtIndex(REF_AGGREGATORSPERLEVELANDGROUP, constant(i)), "size")); } method.getBlock().methodReturn(ref("size")); return localMethod(method); }
public CodegenExpression evaluateCodegen(Class requiredType, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { CodegenMethod methodNode = codegenMethodScope.makeChild(Object.class, ExprForgeStreamWithGetter.class, codegenClassScope); CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); methodNode.getBlock() .declareVar(EventBean.class, "theEvent", arrayAtIndex(refEPS, constant(0))) .ifRefNotNull("theEvent") .blockReturn(getter.eventBeanGetCodegen(ref("theEvent"), methodNode, codegenClassScope)) .methodReturn(constantNull()); return localMethod(methodNode); }
public CodegenExpression evaluateCodegen(Class requiredType, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { Class result = fragmentType.isIndexed() ? EventBean[].class : EventBean.class; CodegenMethod methodNode = codegenMethodScope.makeChild(result, ExprEvalByGetterFragment.class, codegenClassScope); CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); methodNode.getBlock() .declareVar(EventBean.class, "event", arrayAtIndex(refEPS, constant(streamNum))) .ifRefNullReturnNull("event") .methodReturn(cast(result, getter.eventBeanFragmentCodegen(ref("event"), methodNode, codegenClassScope))); return localMethod(methodNode); }
public CodegenExpression getLastValueCodegen(CodegenClassScope classScope, CodegenMethod parentMethod, CodegenNamedMethods namedMethods) { CodegenMethod initArray = initArrayCodegen(namedMethods, classScope); CodegenMethod method = parentMethod.makeChildWithScope(EventBean.class, AggregatorAccessLinearJoin.class, CodegenSymbolProviderEmpty.INSTANCE, classScope); method.getBlock().ifCondition(exprDotMethod(refSet, "isEmpty")).blockReturn(constantNull()) .ifCondition(equalsNull(array)).localMethod(initArray).blockEnd() .methodReturn(arrayAtIndex(array, op(arrayLength(array), "-", constant(1)))); return localMethod(method); }
public CodegenExpression evaluateCodegen(Class requiredType, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { CodegenExpressionField eventSvc = codegenClassScope.addOrGetFieldSharable(EventBeanTypedEventFactoryCodegenField.INSTANCE); CodegenExpressionField namedWindowType = codegenClassScope.addFieldUnshared(true, EventType.class, EventTypeUtility.resolveTypeCodegen(namedWindowAsType, EPStatementInitServices.REF)); CodegenMethod methodNode = codegenMethodScope.makeChild(EventBean.class, ExprEvalStreamInsertNamedWindow.class, codegenClassScope); CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); String method = EventTypeUtility.getAdapterForMethodName(namedWindowAsType); methodNode.getBlock() .declareVar(EventBean.class, "event", arrayAtIndex(refEPS, constant(streamNum))) .ifRefNullReturnNull("event") .methodReturn(exprDotMethod(eventSvc, method, cast(namedWindowAsType.getUnderlyingType(), exprDotUnderlying(ref("event"))), namedWindowType)); return localMethod(methodNode); }
public static CodegenExpression codegen(PropertyDotNonLambdaIndexedForge forge, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { CodegenMethod methodNode = codegenMethodScope.makeChild(forge.getEvaluationType(), PropertyDotNonLambdaIndexedForgeEval.class, codegenClassScope); CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); Class evaluationType = forge.getParamForge().getEvaluationType(); methodNode.getBlock() .declareVar(EventBean.class, "event", arrayAtIndex(refEPS, constant(forge.getStreamId()))) .ifRefNullReturnNull("event") .declareVar(evaluationType, "key", forge.getParamForge().evaluateCodegen(evaluationType, methodNode, exprSymbol, codegenClassScope)) .methodReturn(forge.getIndexedGetter().eventBeanGetIndexedCodegen(methodNode, codegenClassScope, ref("event"), ref("key"))); return localMethod(methodNode); } }
public static CodegenExpression codegen(ExprDotNodeForgePropertyExpr forge, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) { CodegenMethod methodNode = codegenMethodScope.makeChild(forge.getEvaluationType(), ExprDotNodeForgePropertyExprEvalIndexed.class, codegenClassScope); CodegenExpressionRef refEPS = exprSymbol.getAddEPS(methodNode); methodNode.getBlock() .declareVar(EventBean.class, "event", arrayAtIndex(refEPS, constant(forge.getStreamNum()))) .ifRefNullReturnNull("event") .declareVar(Integer.class, "index", forge.getExprForge().evaluateCodegen(Integer.class, methodNode, exprSymbol, codegenClassScope)) .ifRefNullReturnNull("index") .methodReturn(CodegenLegoCast.castSafeFromObjectType(forge.getEvaluationType(), forge.getIndexedGetter().eventBeanGetIndexedCodegen(methodNode, codegenClassScope, ref("event"), ref("index")))); return localMethod(methodNode); } }