All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.vertx.codetrans.LambdaExpressionModel Maven / Gradle / Ivy

package io.vertx.codetrans;

import com.sun.source.tree.LambdaExpressionTree;
import io.vertx.codegen.TypeInfo;

import java.util.List;

/**
 * @author Julien Viet
 */
public class LambdaExpressionModel extends ExpressionModel {

  private final LambdaExpressionTree.BodyKind bodyKind;
  private final List parameterTypes;
  private final List parameterNames;
  private final CodeModel body;

  public LambdaExpressionModel(LambdaExpressionTree.BodyKind bodyKind, List parameterTypes, List parameterNames, CodeModel body) {
    this.bodyKind = bodyKind;
    this.parameterTypes = parameterTypes;
    this.parameterNames = parameterNames;
    this.body = body;
  }

  public LambdaExpressionTree.BodyKind getBodyKind() {
    return bodyKind;
  }

  public List getParameterTypes() {
    return parameterTypes;
  }

  public List getParameterNames() {
    return parameterNames;
  }

  public CodeModel getBody() {
    return body;
  }

  @Override
  public void render(CodeWriter writer) {
    writer.getLang().renderLambda(bodyKind, parameterTypes, parameterNames, body, writer);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy