JExpression expression = ... expression.component(JExpr.lit(1));
public JStatement validate(final DatabindableDatatype datatype, final JCodeModel codeModel, final JDefinedClass theClass, final JExpression value, final JAssignmentTarget problem) { final ListType listType = (ListType) datatype; final Beholder vc = BeholderFactory.getBeholder(listType.itemType); final JBlock block = newBlock(); final JForLoop _for = block._for(); final JVar index = _for.init(codeModel.INT, "index", JExpr.lit(0)); _for.test(JOp.lt(index, value.ref("length"))); _for.update(JOp.incr(index)); final JVar current = _for.body().decl(codeModel.ref(listType.itemType.getJavaObjectType()), "current", value.component(index)); final JVar currentProblem = _for.body().decl(codeModel.ref(Object.class), "currentProblem"); _for.body().add(vc.validate(listType.itemType, codeModel, theClass, current, currentProblem)); _for.body().directStatement("// Add current problem to the list of problems"); return block; }
private void appendHashCode(final JCodeModel codeModel, final JBlock block, final JVar hash, final JType type, final JExpression value, final JExpression isValueSet) { if (type.isArray()) { final JConditional _if = block._if(JExpr._null().eq(value)); _if._then().assign(hash, JOp.mul(JExpr.lit(31), hash)); final JForLoop _for = _if._else()._for(); final JVar i = _for.init(codeModel.INT, "i", JExpr.lit(0)); _for.test(JOp.lt(i, value.ref("length"))); _for.update(JOp.incr(i)); final JVar valueComponent = _for.body().decl(type.elementType(), "valueComponent", value.component(i)); _for.body().assign( hash, JOp.plus( JOp.mul(JExpr.lit(31), hash), valueHashCode(codeModel, type.elementType(), valueComponent, JOp.eq(JExpr._null(), valueComponent)))); } else { block.assign( hash, JOp.plus(JOp.mul(JExpr.lit(31), hash), valueHashCode(codeModel, type, value, isValueSet))); } }
JExpression componentVariable = batchIndex.shrz(JExpr.lit(16)); if (e.isSuperReader()) { vv1 = (vv1.component(componentVariable)); recordIndex = recordIndex.band(JExpr.lit((int) Character.MAX_VALUE));