org.hisrc.jscm.codemodel.expression.impl.ArrayLiteralImpl Maven / Gradle / Ivy
The newest version!
package org.hisrc.jscm.codemodel.expression.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.hisrc.jscm.codemodel.JSCodeModel;
import org.hisrc.jscm.codemodel.expression.JSArrayLiteral;
import org.hisrc.jscm.codemodel.expression.JSAssignmentExpression;
import org.hisrc.jscm.codemodel.expression.JSExpressionVisitor;
import org.hisrc.jscm.codemodel.lang.Validate;
public class ArrayLiteralImpl extends PrimaryExpressionImpl implements
JSArrayLiteral {
private final List elements = new ArrayList();
private final List unmodifiableElements = Collections
.unmodifiableList(elements);
public ArrayLiteralImpl(JSCodeModel codeModel) {
super(codeModel);
}
@Override
public List getElements() {
return unmodifiableElements;
}
@Override
public JSArrayLiteral append(JSAssignmentExpression... elements) {
Validate.noNullElements(elements);
this.elements.addAll(Arrays.asList(elements));
return this;
}
@Override
public V acceptExpressionVisitor(
JSExpressionVisitor visitor) throws E {
return visitor.visitArrayLiteral(this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy