private JMethod addPublicSetMethod(JDefinedClass jclass, JMethod internalSetMethod) { JMethod method = jclass.method(PUBLIC, jclass.owner().VOID, SETTER_NAME); JVar nameParam = method.param(String.class, "name"); JVar valueParam = method.param(Object.class, "value"); JBlock body = method.body(); JBlock notFound = body._if(JOp.not(invoke(internalSetMethod).arg(nameParam).arg(valueParam)))._then(); // if we have additional properties, then put value. JMethod getAdditionalProperties = jclass.getMethod("getAdditionalProperties", new JType[] {}); if (getAdditionalProperties != null) { JType additionalPropertiesType = ((JClass) (getAdditionalProperties.type())).getTypeParameters().get(1); notFound.add(invoke(getAdditionalProperties).invoke("put").arg(nameParam) .arg(cast(additionalPropertiesType, valueParam))); } // else throw exception. else { notFound._throw(illegalArgumentInvocation(jclass, nameParam)); } return method; }
private JMethod addPublicWithMethod(JDefinedClass jclass, JMethod internalSetMethod) { JMethod method = jclass.method(PUBLIC, jclass, BUILDER_NAME); JVar nameParam = method.param(String.class, "name"); JVar valueParam = method.param(Object.class, "value"); JBlock body = method.body(); JBlock notFound = body._if(JOp.not(invoke(internalSetMethod).arg(nameParam).arg(valueParam)))._then(); // if we have additional properties, then put value. JMethod getAdditionalProperties = jclass.getMethod("getAdditionalProperties", new JType[] {}); if (getAdditionalProperties != null) { JType additionalPropertiesType = ((JClass) (getAdditionalProperties.type())).getTypeParameters().get(1); notFound.add(invoke(getAdditionalProperties).invoke("put").arg(nameParam) .arg(cast(additionalPropertiesType, valueParam))); } // else throw exception. else { notFound._throw(illegalArgumentInvocation(jclass, nameParam)); } body._return(_this()); return method; }
jc._then().assign(JExpr.ref(workspaceJVars[3].component(JExpr.lit(i)), "valueHolder"), inputVariables[i].getHolder()); jc._else().assign(JExpr.ref(workspaceJVars[3].component(JExpr.lit(i)), "valueHolder"), JExpr._null()); sub.add(conditionalBlock); } else { sub.assign(workspaceJVars[3].component(JExpr.lit(i)), workspaceJVars[2].component(JExpr.lit(i))); sub.add(ObjectInspectorHelper.getDrillObject(m, returnOI, workspaceJVars[0], workspaceJVars[4], retVal)); sub.assign(out.getHolder(), workspaceJVars[4]); setup.directStatement(String.format("/** start %s for function %s **/ ", ClassGenerator.BlockType.EVAL.name(), genericUdfClazz.getName() + (!isGenericUDF ? "("+udfName+")" : ""))); setup.add(sub); setup.directStatement(String.format("/** end %s for function %s **/ ", ClassGenerator.BlockType.EVAL.name(), genericUdfClazz.getName() + (!isGenericUDF ? "("+udfName+")" : "")));
.arg(JExpr.lit(String.format("Failed to initialize GenericUDF"))).arg(exVar)); sub.add(ObjectInspectorHelper.initReturnValueHolder(g, m, workspaceJVars[4], returnOI, returnType.getMinorType())); ClassGenerator.BlockType.SETUP.name(), genericUdfClazz.getName() + (!isGenericUDF ? "("+udfName+")" : ""))); setup.add(sub);
body.add(sb .invoke("append").arg(jclass.dotclass().invoke("getName")) .invoke("append").arg(JExpr.lit('@')) superToStringInnerConditional._then().add( sb.invoke("append") .arg(superString) superToStringInnerConditional._else().add(sb.invoke("append").arg(superString)); ._then().add(sb.invoke("append").arg(JExpr.lit(','))); body.add(sb.invoke("append").arg(fieldVar.name())); body.add(sb.invoke("append").arg(JExpr.lit('='))); body.add(sb.invoke("append").arg(JExpr.refthis(fieldVar.name()))); } else if (fieldVar.type().isArray()) { body.add(sb.invoke("append") .arg(JOp.cond( JExpr.refthis(fieldVar.name()).eq(JExpr._null()), .invoke("replace").arg(JExpr.lit(", ")).arg(JExpr.lit(","))))); } else { body.add(sb.invoke("append") .arg(JOp.cond( JExpr.refthis(fieldVar.name()).eq(JExpr._null()), body.add(sb.invoke("append").arg(JExpr.lit(',')));
jnullif._then().assign(returnValueHolder.ref("isSet"), JExpr.lit(0)); jnullif._else().add(returnValueHolder.ref("buffer") .invoke("setBytes").arg(JExpr.lit(0)).arg(data)); jnullif._else().assign(returnValueHolder.ref("start"), JExpr.lit(0)); jnullif._else().assign(returnValueHolder.ref("end"), data.ref("length")); jnullif._else().add(returnValueHolder.ref("buffer").invoke("setIndex").arg(JExpr.lit(0)).arg(data.ref("length"))); jnullif._then().assign(returnValueHolder.ref("isSet"), JExpr.lit(0)); jnullif._else().add(returnValueHolder.ref("buffer") .invoke("setBytes").arg(JExpr.lit(0)).arg(data)); jnullif._else().assign(returnValueHolder.ref("start"), JExpr.lit(0)); jnullif._else().assign(returnValueHolder.ref("end"), data.ref("length")); jnullif._else().add(returnValueHolder.ref("buffer").invoke("setIndex").arg(JExpr.lit(0)).arg(data.ref("length"))); jnullif._else().add(returnValueHolder.ref("buffer") .invoke("setBytes").arg(JExpr.lit(0)).arg(data)); jnullif._else().assign(returnValueHolder.ref("start"), JExpr.lit(0)); jnullif._else().assign(returnValueHolder.ref("end"), data.ref("length")); jnullif._else().add(returnValueHolder.ref("buffer").invoke("setIndex").arg(JExpr.lit(0)).arg(data.ref("length"))); jnullif._else().add(returnValueHolder.ref("buffer") .invoke("setBytes").arg(JExpr.lit(0)).arg(data)); jnullif._else().assign(returnValueHolder.ref("start"), JExpr.lit(0)); jnullif._else().assign(returnValueHolder.ref("end"), data.ref("length")); jnullif._else().add(returnValueHolder.ref("buffer").invoke("setIndex").arg(JExpr.lit(0)).arg(data.ref("length")));
private void insertRestCallInBody(JBlock body, JInvocation restCall, boolean methodReturnVoid) { if (methodReturnVoid) { body.add(restCall); } else { body._return(restCall); } }
/** * Creates an inner braced and indented block * @param type type of the created block * @return a newly created inner block */ private JBlock createInnerBlock(BlockType type) { final JBlock currBlock = getBlock(type); final JBlock innerBlock = new JBlock(); currBlock.add(innerBlock); return innerBlock; }
/** * Creates an inner braced and indented block * @param type type of the created block * @return a newly created inner block */ private JBlock createInnerBlock(BlockType type) { final JBlock currBlock = getBlock(type); final JBlock innerBlock = new JBlock(); currBlock.add(innerBlock); return innerBlock; }
public JStatement validate(final DatabindableDatatype datatype, final JCodeModel codeModel, final JDefinedClass theClass, final JExpression value, final JAssignmentTarget problem) { final JBlock block = newBlock(); final DataTypeWithFacet dataTypeWithFacet = (DataTypeWithFacet) datatype; final XSDatatype baseType = dataTypeWithFacet.baseType; final Beholder vc = BeholderFactory.getBeholder(baseType); block.add(vc.validate(baseType, codeModel, theClass, value, problem)); block.add(diagnoseByFacet(dataTypeWithFacet, codeModel, theClass, value, problem)); return block; }
private JBlock generateInitWorkspaceBlockHA(ClassGenerator<?> g, BlockType bt, String body, JVar[] workspaceJVars, JExpression wsIndexVariable){ JBlock initBlock = new JBlock(true, true); if(!Strings.isNullOrEmpty(body) && !body.trim().isEmpty()){ JBlock sub = new JBlock(true, true); addProtectedBlockHA(g, sub, body, null, workspaceJVars, wsIndexVariable); initBlock.directStatement(String.format("/** start %s for function %s **/ ", bt.name(), registeredNames[0])); initBlock.add(sub); initBlock.directStatement(String.format("/** end %s for function %s **/ ", bt.name(), registeredNames[0])); } return initBlock; }
private ElementWriterBuilder writeElement(QName name, JType type, JExpression var, JBlock block) { block.add(xswVar.invoke("writeStartElement").arg(name.getPrefix()).arg(name.getLocalPart()).arg(name.getNamespaceURI())); if (getParent() == null || getName() == null || !getName().getNamespaceURI().equals(name.getNamespaceURI())) { block.add(xswVar.invoke("writeAndDeclareIfUndeclared").arg(JExpr.lit("")).arg(name.getNamespaceURI())); } ElementWriterBuilderImpl builder = new ElementWriterBuilderImpl(this, name, type); block.invoke(builder.getMethod()).arg(builder.getXSW()).arg(JExpr.cast(type, var)).arg(builder.getContextVar()); block.add(xswVar.invoke("writeEndElement")); return builder; }
private void writeAs(JBlock block, JExpression exp) { block.add(xswVar.invoke("writeAttribute") .arg(JExpr.lit(name.getPrefix())) .arg(JExpr.lit(name.getNamespaceURI())) .arg(JExpr.lit(name.getLocalPart())) .arg(exp)); } }
public TypedExpression initializeProxy(InjectionBuilderContext context, TypedExpression proxyVariable, TypedExpression variableBuilder) { context.getBlock().add( proxyVariable.getExpression().invoke(DelayedLoad.LOAD_METHOD).arg(variableBuilder.getExpression())); return variableBuilder; } }
@Override public void process(Element element, JCodeModel codeModel, EBeanHolder holder) throws JClassAlreadyExistsException { ExecutableElement executableElement = (ExecutableElement) element; JMethod delegatingMethod = helper.overrideAnnotatedMethod(executableElement, holder); JDefinedClass anonymousRunnableClass = helper.createDelegatingAnonymousRunnableClass(holder, delegatingMethod); { // Execute Runnable JClass backgroundExecutorClass = holder.refClass(BackgroundExecutor.class); JInvocation executeCall = backgroundExecutorClass.staticInvoke("execute").arg(JExpr._new(anonymousRunnableClass)); delegatingMethod.body().add(executeCall); } }
public void moveTo(WriterBuilder builder) { currentBlock.add( JExpr._this().invoke(((AbstractWriterBuilder)builder).method) .arg(xswVar).arg(JExpr.cast(objectVar.type(), objectVar)).arg(rtContextVar)); }
@Override void generateCode(ClassGenerator<WindowFramer> cg) { final GeneratorMapping mapping = GeneratorMapping.create("setupPartition", "outputRow", "resetValues", "cleanup"); final MappingSet mappingSet = new MappingSet(null, "outIndex", mapping, mapping); cg.setMappingSet(mappingSet); final JVar vv = cg.declareVectorValueSetupAndMember(cg.getMappingSet().getOutgoing(), fieldId); final JExpression outIndex = cg.getMappingSet().getValueWriteIndex(); JInvocation setMethod = vv.invoke("setSafe").arg(outIndex) .arg(JExpr.direct("partition.ntile(" + numTiles + ")")); cg.getEvalBlock().add(setMethod); } }
@Override void generateCode(ClassGenerator<WindowFramer> cg) { final GeneratorMapping mapping = GeneratorMapping.create("setupPartition", "outputRow", "resetValues", "cleanup"); final MappingSet mappingSet = new MappingSet(null, "outIndex", mapping, mapping); cg.setMappingSet(mappingSet); final JVar vv = cg.declareVectorValueSetupAndMember(cg.getMappingSet().getOutgoing(), fieldId); final JExpression outIndex = cg.getMappingSet().getValueWriteIndex(); JInvocation setMethod = vv.invoke("setSafe").arg(outIndex).arg(JExpr.direct("partition." + getName())); cg.getEvalBlock().add(setMethod); }
private static void generateQueryParamAddMethod(JDefinedClass derivedBuilderClass, ParameterSchema param, JClass paramClass) { final String paramName = param.getName(); final boolean isOptional = RestLiToolsUtils.isParameterOptional(param); final String methodName = RestLiToolsUtils.nameCamelCase("add" + RestLiToolsUtils.normalizeCaps(paramName) + "Param"); final JMethod addMethod = derivedBuilderClass.method(JMod.PUBLIC, derivedBuilderClass, methodName); final JVar addMethodParam = addMethod.param(paramClass, "value"); addMethod.body().add(JExpr._super().invoke(isOptional ? "addParam" : "addReqParam").arg(paramName).arg(addMethodParam).arg(paramClass.dotclass())); addMethod.body()._return(JExpr._this()); generateParamJavadoc(addMethod, addMethodParam, param); }