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

io.sundr.model.NewArray Maven / Gradle / Ivy

The newest version!
package io.sundr.model;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class NewArray implements Expression {

  private final TypeRef type;
  private final List expressions;

  public NewArray(TypeRef type, List expressions) {
    this.type = type;
    this.expressions = expressions;
  }

  public NewArray(Class type, Expression... expressions) {
    this(ClassRef.forClass(type), Arrays.asList(expressions));
  }

  public NewArray(TypeRef type, Expression... expressions) {
    this(type, Arrays.asList(expressions));
  }

  public NewArray(Class type, Integer... sizes) {
    this(ClassRef.forClass(type), Arrays.stream(sizes).map(ValueRef::from).collect(Collectors.toList()));
  }

  public NewArray(TypeRef type, Integer... sizes) {
    this(type, Arrays.stream(sizes).map(ValueRef::from).collect(Collectors.toList()));
  }

  public TypeRef getType() {
    return type;
  }

  public List getExpressions() {
    return expressions;
  }

  @Override
  public String render() {
    StringBuilder sb = new StringBuilder();
    sb.append("new ").append(type.render());
    sb.append(expressions.stream().map(Expression::render).collect(Collectors.joining(", ", "[", "]")));
    return sb.toString();
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy