@Test public void testForeachLoopWithLiterals() { String s = StatementBuilder.create() .loadLiteral(new String[] { "s1", "s2" }) .foreach("s") .append(StatementBuilder.create().loadVariable("s").invoke("getBytes")) .finish().toJavaString(); assertEquals("Failed to generate foreach loop using a literal String array", FOREACH_LITERAL_STRING_ARRAY, s); }
@Test public void testForeachLoopWithInvoke() { Builder loop = StatementBuilder.create() .declareVariable("map", Map.class) .loadVariable("map") .invoke("keySet") .foreach("key") .append(Stmt.loadStatic(System.class, "out").invoke("println", Variable.get("key"))) .finish(); assertEquals("Failed to generate foreach loop using invoke()", FOREACH_KEYSET_LOOP, loop.toJavaString()); }
@Test public void testForeachLoopWithProvidedContext() { Context c = ContextBuilder.create().addVariable(Variable.create("s", String.class)).getContext(); String s = StatementBuilder.create(c) .loadLiteral(new String[] { "s1", "s2" }) .foreach("s") .append(StatementBuilder.create().loadVariable("s").invoke("getBytes")) .finish().toJavaString(); assertEquals("Failed to generate foreach loop using a literal String array", FOREACH_LITERAL_STRING_ARRAY, s); }
Stmt.loadVariable("state").invoke("getState").invoke("get", queryParamName).foreach("elem", Object.class) .append(Stmt.declareVariable("fv" + idx, Stmt.castTo(String.class, Stmt.loadVariable("elem")))) .append(
Stmt.loadVariable("state").invoke("getState").invoke("get", queryParamName).foreach("elem", Object.class) .append(Stmt.declareVariable("fv" + idx, Stmt.castTo(String.class, Stmt.loadVariable("elem")))) .append(
Stmt.nestedCall(loadVariable(targetVar).invoke(readMethod)).foreach(elemVarName, Object.class) .append ( If.instanceOf(Refs.get(elemVarName), BindableProxy.class)
Stmt.nestedCall(loadVariable(targetVar).invoke(readMethod)).foreach(elemVarName, Object.class) .append ( If.instanceOf(Refs.get(elemVarName), BindableProxy.class)