Package org.jboss.errai.codegen

Examples of org.jboss.errai.codegen.BlockStatement.addStatement()


   * Generates method body for recursively unwrapping a {@link BindableProxy}.
   */
  private Statement generateDeepUnwrapMethodBody(final String methodName) {
    final String cloneVar = "clone";
    final BlockStatement stmt = new BlockStatement();
    stmt.addStatement(Stmt.declareFinalVariable(cloneVar, bindable, Stmt.newObject(bindable)));
   
    for (final String property : bindable.getBeanDescriptor().getProperties()) {
      final MetaMethod readMethod = bindable.getBeanDescriptor().getReadMethodForProperty(property);
      final MetaMethod writeMethod = bindable.getBeanDescriptor().getWriteMethodForProperty(property);
      if (readMethod != null && writeMethod != null) {
View Full Code Here


      final MetaMethod readMethod = bindable.getBeanDescriptor().getReadMethodForProperty(property);
      final MetaMethod writeMethod = bindable.getBeanDescriptor().getWriteMethodForProperty(property);
      if (readMethod != null && writeMethod != null) {
        if (!readMethod.getReturnType().isAnnotationPresent(Bindable.class)
                && !DataBindingUtil.getConfiguredBindableTypes().contains(readMethod.getReturnType())) {
          stmt.addStatement(
              Stmt.loadVariable(cloneVar).invoke(writeMethod,target().invoke(readMethod))
          );
        }
        else {
          final Statement field = target().invoke(readMethod);
View Full Code Here

              Stmt.loadVariable(cloneVar).invoke(writeMethod,target().invoke(readMethod))
          );
        }
        else {
          final Statement field = target().invoke(readMethod);
          stmt.addStatement(
              If.instanceOf(field, BindableProxy.class)
                  .append(
                      Stmt.loadVariable(cloneVar)
                      .invoke(
                          writeMethod,
View Full Code Here

          );
        }
      }
    }
   
    stmt.addStatement(Stmt.loadVariable(cloneVar).returnValue());
   
    return stmt;
  }

  private String inferSafeAgentFieldName() {
View Full Code Here

  private static Statement generateInterceptorStackProceedMethod(
          final GeneratorContext context,
          final Class<? extends RemoteCallContext> callContextType,
          final Statement proceed, final List<Class<?>> interceptors) {
    final BlockStatement proceedLogic = new BlockStatement();
    proceedLogic.addStatement(Stmt.loadVariable("status").invoke("proceed"));

    final BlockBuilder<ElseBlockBuilder> interceptorStack =
              If.isNotNull(Stmt.loadVariable("status").invoke("getNextInterceptor"));

    for (final Class<?> interceptor : interceptors) {
View Full Code Here

                      ))
              .append(generateAsyncInterceptorCreation(context, interceptor))
              .finish()
          );
    }
    proceedLogic.addStatement(interceptorStack.finish().else_().append(proceed).finish());
    return proceedLogic;
  }

  /**
   * Generates the code that will create the interceptor and then invoke the callback when done. If
View Full Code Here

              .finish();
  }

  private static Statement generateInterceptorStackProceedMethod(final Statement proceed, final InterceptedCall interceptedCall) {
    final BlockStatement proceedLogic = new BlockStatement();
    proceedLogic.addStatement(Stmt.loadVariable("status").invoke("proceed"));

    final BlockBuilder<ElseBlockBuilder> interceptorStack =
              If.isNotNull(Stmt.loadVariable("status").invoke("getNextInterceptor"));

    for (final Class<?> interceptor : interceptedCall.value()) {
View Full Code Here

                              Stmt.loadVariable("this").invoke("getResult")))
                      .finish())
              .finish()
          );
    }
    proceedLogic.addStatement(interceptorStack.finish().else_().append(proceed).finish());
    return proceedLogic;
  }

  public static boolean shouldProxyMethod(final MetaMethod method) {
    final String methodName = method.getName();
View Full Code Here

              .finish();
  }

  private static Statement generateInterceptorStackProceedMethod(Statement proceed, InterceptedCall interceptedCall) {
    BlockStatement proceedLogic = new BlockStatement();
    proceedLogic.addStatement(Stmt.loadVariable("status").invoke("proceed"));

    BlockBuilder<ElseBlockBuilder> interceptorStack =
              If.isNotNull(Stmt.loadVariable("status").invoke("getNextInterceptor"));

    for (Class<?> interceptor : interceptedCall.value()) {
View Full Code Here

                              Stmt.loadVariable("this").invoke("getResult")))
                      .finish())
              .finish()
          );
    }
    proceedLogic.addStatement(interceptorStack.finish().else_().append(proceed).finish());
    return proceedLogic;
  }
}
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.