
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