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

ma.vi.esql.parser.modify.InsertRow Maven / Gradle / Ivy

/*
 * Copyright (c) 2020 Vikash Madhow
 */

package ma.vi.esql.parser.modify;

import ma.vi.esql.parser.Context;
import ma.vi.esql.parser.expression.Expression;
import ma.vi.esql.type.Type;
import ma.vi.esql.type.Types;

import java.util.List;
import java.util.Map;

import static java.util.stream.Collectors.joining;

public class InsertRow extends Expression>, String> {
  public InsertRow(Context context, List> values) {
    super(context, values);
  }

  public InsertRow(InsertRow other) {
    super(other);
  }

  @Override
  public InsertRow copy() {
    if (!copying()) {
      try {
        copying(true);
        return new InsertRow(this);
      } finally {
        copying(false);
      }
    } else {
      return this;
    }
  }

  @Override
  public Type type() {
    return Types.BoolType;
  }

  @Override
  protected String trans(Target target, Map parameters) {
    return values().stream()
                   .map(e -> e.translate(target, parameters))
                   .collect(joining(", ", "(", ")"));
  }

  @Override
  public void _toString(StringBuilder st, int level, int indent) {
    st.append('(');
    boolean first = true;
    for (Expression e: values()) {
      if (first) { first = false; }
      else       { st.append(", "); }
      e._toString(st, level, indent);
    }
    st.append(')');
  }

  public List> values() {
    return value;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy