@Override public ContextualStatementBuilder call(final Statement instance, final HasAnnotations annotated, final BuildMetaClass factory, final Statement... params) { return nestedCall(instance); } };
.extend() .publicOverridesMethod("getProxy") .append(Stmt.nestedCall(Stmt.newObject(remoteProxy.getClassDefinition())).returnValue()) .finish() .finish();
public static Statement closeProxy(final Statement proxyReference, final Statement beanInstance) { return Stmt.nestedCall(proxyReference).invoke(PROXY_BIND_METHOD, beanInstance); }
public static Collection<Statement> createAllPropertyBindings(final Statement proxyRef, final Map<String, ProxyProperty> proxyProperties) { final List<Statement> statementList = new ArrayList<Statement>(); for (final Map.Entry<String, ProxyProperty> entry : proxyProperties.entrySet()) { statementList.add(Stmt.nestedCall(proxyRef).invoke("$set_" + entry.getKey(), entry.getValue().getOriginalValueReference())); } return statementList; }
public static Collection<Statement> createAllPropertyBindings(final Statement proxyRef, final Map<String, ProxyProperty> proxyProperties) { final List<Statement> statementList = new ArrayList<Statement>(); for (final Map.Entry<String, ProxyProperty> entry : proxyProperties.entrySet()) { statementList.add(Stmt.nestedCall(proxyRef).invoke("$set_" + entry.getKey(), entry.getValue().getOriginalValueReference())); } return statementList; }
private static void _doRunnableTasks(final Collection<MetaClass> classes, final BlockBuilder<?> blockBuilder) { for (final MetaClass clazz : classes) { if (!clazz.isAssignableTo(Runnable.class)) { throw new RuntimeException("annotated @IOCBootstrap task: " + clazz.getName() + " is not of type: " + Runnable.class.getName()); } blockBuilder.append(Stmt.nestedCall(Stmt.newObject(clazz)).invoke("run")); } }
public Statement extractJSONObjectProperty(final String fieldName, final MetaClass fromType) { if (fromType.getFullyQualifiedName().equals(EJObject.class.getName())) { return loadVariable("obj").invoke("get", fieldName); } else { return Stmt.nestedCall(Cast.to(fromType, loadVariable("a0"))).invoke("get", fieldName); } }
public Statement extractJSONObjectProperty(final Statement fieldName, final MetaClass fromType, final String getterName) { if (fromType.getFullyQualifiedName().equals(EJObject.class.getName())) { return loadVariable("obj").invoke(getterName, fieldName); } else { return Stmt.nestedCall(Cast.to(fromType, loadVariable("a0"))).invoke(getterName, fieldName); } }
public Statement extractJSONObjectProperty(final String fieldName, final MetaClass fromType) { if (fromType.getFullyQualifiedName().equals(EJObject.class.getName())) { return loadVariable("obj").invoke("get", fieldName); } else { return Stmt.nestedCall(Cast.to(fromType, loadVariable("a0"))).invoke("get", fieldName); } }
public Statement extractJSONObjectProperty(final Statement fieldName, final MetaClass fromType, final String getterName) { if (fromType.getFullyQualifiedName().equals(EJObject.class.getName())) { return loadVariable("obj").invoke(getterName, fieldName); } else { return Stmt.nestedCall(Cast.to(fromType, loadVariable("a0"))).invoke(getterName, fieldName); } }
/** * Generates the call to * {@link RequestBuilder#sendRequest(String, com.google.gwt.http.client.RequestCallback)} for * interceptable methods. * * @return statement representing the request */ private Statement generateInterceptedRequest() { return generateRequest( Stmt.nestedCall(new StringStatement("getRequestBuilder()", MetaClassFactory.get(RequestBuilder.class))), Stmt.loadStatic(declaringClass, "this")); }
private ObjectBuilder createJsTypeProvider(final MetaClass type) { return newObject(DummyJsTypeProvider.class) .extend() .publicOverridesMethod("getInstance") .append(nestedCall(createAnonymousImpl(type)).returnValue()) .finish() .publicOverridesMethod("getName") .append(loadLiteral("Anti-inlining impl for: " + type.getFullyQualifiedName()).returnValue()) .finish() .finish(); }
private static Statement supplierOf(final Statement value) { return newInstanceOf(parameterizedAs(Supplier.class, typeParametersOf(value.getType()))) .extend() .publicOverridesMethod("get") .append(Stmt.nestedCall(value).returnValue()) .finish() .finish(); }
public Statement unwrapJSON(final Statement valueStatement, final MetaClass toType, final MetaClass targetType) { if (toType.isEnum()) { return demarshallEnum(Stmt.nestedCall(valueStatement).invoke("isObject"), valueStatement, toType); } else { final String varName = MarshallingGenUtil.getVarName(toType); if (toType.equals(MetaClassFactory.get(Object.class))) { return Stmt.castTo(ObjectMarshaller.class, Stmt.loadVariable(varName)) .invoke("demarshall", targetType.asClass(), valueStatement, loadVariable("a1")); } return Stmt.loadVariable(varName) .invoke("demarshall", valueStatement, loadVariable("a1")); } }
private static Statement supplierOf(final Statement value) { return newInstanceOf(parameterizedAs(Supplier.class, typeParametersOf(value.getType()))) .extend() .publicOverridesMethod("get") .append(Stmt.nestedCall(value).returnValue()) .finish() .finish(); }
public TernaryStatement marshallEnum(final Statement valueStatement, final MetaClass toType) { StringExpression s = Str.expr("{\"", StringOperator.Concat, SerializationParts.ENCODED_TYPE); s = Str.expr(s, StringOperator.Concat, "\":\""); s = Str.expr(s, StringOperator.Concat, toType.getFullyQualifiedName()); s = Str.expr(s, StringOperator.Concat, "\",\""); s = Str.expr(s, StringOperator.Concat, SerializationParts.ENUM_STRING_VALUE); s = Str.expr(s, StringOperator.Concat, "\":\""); s = Str.expr(s, StringOperator.Concat, Stmt.nestedCall(valueStatement).invoke("name")); s = Str.expr(s, StringOperator.Concat, "\"}"); final TernaryStatement ternaryStatement = new TernaryStatement( Bool.isNotNull(valueStatement), Stmt.load(s), Stmt.load("null")); return ternaryStatement; }
public TernaryStatement marshallEnum(final Statement valueStatement, final MetaClass toType) { StringExpression s = Str.expr("{\"", StringOperator.Concat, SerializationParts.ENCODED_TYPE); s = Str.expr(s, StringOperator.Concat, "\":\""); s = Str.expr(s, StringOperator.Concat, toType.getFullyQualifiedName()); s = Str.expr(s, StringOperator.Concat, "\",\""); s = Str.expr(s, StringOperator.Concat, SerializationParts.ENUM_STRING_VALUE); s = Str.expr(s, StringOperator.Concat, "\":\""); s = Str.expr(s, StringOperator.Concat, Stmt.nestedCall(valueStatement).invoke("name")); s = Str.expr(s, StringOperator.Concat, "\"}"); final TernaryStatement ternaryStatement = new TernaryStatement( Bool.isNotNull(valueStatement), Stmt.load(s), Stmt.load("null")); return ternaryStatement; }
public void marshallEnum(final ContextualStatementBuilder bb, final Statement valueStatement, final MetaClass toType) { final Implementations.StringBuilderBuilder internalSBB = Implementations.newStringBuilder() .append("{\"").append(SerializationParts.ENCODED_TYPE) .append( "\":\"").append( toType.getFullyQualifiedName()).append("\",\"") .append(SerializationParts.ENUM_STRING_VALUE).append("\":\"") .append(Stmt.nestedCall(valueStatement).invoke("name")).append("\"}"); final TernaryStatement ternaryStatement = new TernaryStatement( Bool.isNotNull(valueStatement), internalSBB, Stmt.load("null")); bb.invoke("append", ternaryStatement); }
public void marshallEnum(final ContextualStatementBuilder bb, final Statement valueStatement, final MetaClass toType) { final Implementations.StringBuilderBuilder internalSBB = Implementations.newStringBuilder() .append("{\"").append(SerializationParts.ENCODED_TYPE) .append( "\":\"").append( toType.getFullyQualifiedName()).append("\",\"") .append(SerializationParts.ENUM_STRING_VALUE).append("\":\"") .append(Stmt.nestedCall(valueStatement).invoke("name")).append("\"}"); final TernaryStatement ternaryStatement = new TernaryStatement( Bool.isNotNull(valueStatement), internalSBB, Stmt.load("null")); bb.invoke("append", ternaryStatement); }
@Test public void testDeclareVariableWithStatementInitialization() { final Context ctx = Context.create(); final String s = Stmt.declareVariable("str", String.class, Stmt.nestedCall(Stmt.newObject(Integer.class).withParameters(2)).invoke("toString")) .generate(ctx); assertEquals("failed to generate variable declaration with statement initialization", "String str = new Integer(2).toString();", s); final VariableReference str = ctx.getVariable("str"); assertEquals("Wrong variable name", "str", str.getName()); Assert.assertEquals("Wrong variable type", MetaClassFactory.get(String.class), str.getType()); }