@Override public String generate(Context context) { return statement.generate(context); } });
private String generateIndexes(final Context context, final Statement[] indexes) { if (indexes==null || indexes.length == 0) return ""; final StringBuilder buf = new StringBuilder(128); Arrays.stream(indexes).forEach(index -> buf.append("[").append(index.generate(context)).append("]")); return buf.toString(); }
@Override public String getCanonicalString(final Context context) { return AnnotationEncoder.encode((Annotation) o).generate(context); } };
@Override public String getCanonicalString(final Context context) { return AnnotationEncoder.encode((Annotation) o).generate(context); } };
@Override public String generate(final Context context) { if (generatedCache != null) return generatedCache; if (variableName.equals("this") && next != null && !(next instanceof ReturnValue)) { return generatedCache = ""; } final StringBuilder buf = new StringBuilder((classMember && context.isAmbiguous(ref.getName()) ? "this." : "").concat(getName())); Arrays.stream(idx).forEach(s -> buf.append('[').append(s.generate(context)).append(']')); return generatedCache = buf.toString(); }
@Override public String getCanonicalString(final Context context) { final Class<?> targetType = context.getLiteralizableTargetType(o.getClass()); return SnapshotMaker.makeSnapshotAsSubclass(o, targetType, targetType, null).generate(context); } };
@Override public String getCanonicalString(final Context context) { final Class<?> targetType = context.getLiteralizableTargetType(o.getClass()); return SnapshotMaker.makeSnapshotAsSubclass(o, targetType, targetType, null).generate(context); } };
@Override public String generate(final Context context) { final String conditionString = condition.generate(context); final String trueString = trueStatement.generate(context); final String falseString = falseStatement.generate(context); returnType = trueStatement.getType(); if (falseStatement.getType().isAssignableFrom(returnType)) { returnType = falseStatement.getType(); } return conditionString.concat(" ? ").concat(trueString).concat(" : ").concat(falseString); }
@Override public String generate(Context context) { if (generatedCache != null) return generatedCache; return generatedCache = ((nullSafe) ? "if (" + collectionExpr + " != null) {\n" : "") + "for (" + getClassReference(loopVar.getType(), context) + " " + loopVar.getName() + " : " + collectionExpr + ") {" + "\n\t" + body.generate(context).replaceAll("\n", "\n\t") + "\n}" + ((nullSafe) ? "\n}" : ""); } }
@Override public String generate(Context context) { if (generatedCache != null) return generatedCache; return generatedCache = ((nullSafe) ? "if (" + collectionExpr + " != null) {\n" : "") + "for (" + getClassReference(loopVar.getType(), context) + " " + loopVar.getName() + " : " + collectionExpr + ") {" + "\n\t" + body.generate(context).replaceAll("\n", "\n\t") + "\n}" + ((nullSafe) ? "\n}" : ""); } }
public static void assertIsIterable(final Statement statement) { final Class<?> cls = statement.getType().asClass(); if (!cls.isArray() && !Iterable.class.isAssignableFrom(cls)) throw new TypeNotIterableException(statement.generate(Context.create())); }
public static void assertIsIterable(final Statement statement) { final Class<?> cls = statement.getType().asClass(); if (!cls.isArray() && !Iterable.class.isAssignableFrom(cls)) throw new TypeNotIterableException(statement.generate(Context.create())); }
@Test public void testPermissionStatement() { Statement stmt = processor.createPermissionCheck("myfeature", null, null); String ifStr = stmt.generate(context); assertEquals(ifStr, "if (!(org.uberfire.security.client.authz.AuthorizationManagerHelper.authorize(\"myfeature\"))) {\n" + " return;\n" + "}"); }
@Test public void testEmptyCallback() { Statement stmt = processor.createPermissionCheck("myfeature", "", ""); String ifStr = stmt.generate(context); assertEquals(ifStr, "if (!(org.uberfire.security.client.authz.AuthorizationManagerHelper.authorize(\"myfeature\"))) {\n" + " return;\n" + "}"); }
@Test public void testEmptyCallback() { Statement stmt = processor.createPermissionCheck("myfeature", "", ""); String ifStr = stmt.generate(context); assertEquals(ifStr, "if (!(org.uberfire.security.client.authz.AuthorizationManagerHelper.authorize(\"myfeature\"))) {\n" + " return;\n" + "}"); }
@Test public void testPermissionStatement() { Statement stmt = processor.createPermissionCheck("myfeature", null, null); String ifStr = stmt.generate(context); assertEquals(ifStr, "if (!(org.uberfire.security.client.authz.AuthorizationManagerHelper.authorize(\"myfeature\"))) {\n" + " return;\n" + "}"); }
@Test public void testCastDown() { final Statement stmt = Cast.to(String.class, Stmt.declareVariable("obj", Object.class).loadVariable("obj")); assertEquals("failed to generate cast", "(String) obj", stmt.generate(Context.create())); }
@Test public void testCastUp() { final Statement stmt = Cast.to(Object.class, Stmt.declareVariable("str", String.class).loadVariable("str")); assertEquals("created a redundant cast", "str", stmt.generate(Context.create())); }
@Test public void testCastWithVariableGetAPI() { final Context ctx = Context.create(); ctx.addVariable(Variable.create("str", String.class)); final Statement stmt = Cast.to(Object.class, Variable.get("str")); assertEquals("created a redundant cast", "str", stmt.generate(ctx)); }
@Test public void testInvalidCast() { try { final Statement stmt = Cast.to(Integer.class, Stmt.declareVariable("str", String.class).loadVariable("str")); stmt.generate(Context.create()); fail("expected InvalidTypeException"); } catch (InvalidTypeException e) { // expected assertEquals("Wrong exception message", "java.lang.String cannot be cast to java.lang.Integer", e.getMessage()); } }