| Method from freemarker.core.ListLiteral Detail: |
Expression _deepClone(String name,
Expression subst) {
ArrayList clonedValues = (ArrayList)values.clone();
for (ListIterator iter = clonedValues.listIterator(); iter.hasNext();) {
iter.set(((Expression)iter.next()).deepClone(name, subst));
}
return new ListLiteral(clonedValues);
}
|
TemplateModel _getAsTemplateModel(Environment env) throws TemplateException {
SimpleSequence list = new SimpleSequence(values.size());
for (Iterator it = values.iterator(); it.hasNext();) {
Expression exp = (Expression) it.next();
TemplateModel tm = exp.getAsTemplateModel(env);
assertNonNull(tm, exp, env);
list.add(tm);
}
return list;
}
|
TemplateSequenceModel evaluateStringsToNamespaces(Environment env) throws TemplateException {
TemplateSequenceModel val = (TemplateSequenceModel) getAsTemplateModel(env);
SimpleSequence result = new SimpleSequence(val.size());
for (int i=0; i< values.size(); i++) {
if (values.get(i) instanceof StringLiteral) {
String s = ((StringLiteral) values.get(i)).getAsString();
try {
Environment.Namespace ns = env.importLib(s, null);
result.add(ns);
}
catch (IOException ioe) {
throw new TemplateException("Could not import library '" + s + "', " + ioe.getMessage(), env);
}
}
else {
result.add(val.get(i));
}
}
return result;
}
|
public String getCanonicalForm() {
StringBuffer buf = new StringBuffer("[");
int size = values.size();
for (int i = 0; i< size; i++) {
Expression value = (Expression) values.get(i);
buf.append(value.getCanonicalForm());
if (i != size-1) {
buf.append(",");
}
}
buf.append("]");
return buf.toString();
}
|
List getModelList(Environment env) throws TemplateException {
int size = values.size();
switch(size) {
case 0: {
return Collections.EMPTY_LIST;
}
case 1: {
return Collections12.singletonList(((Expression)values.get(0)).getAsTemplateModel(env));
}
default: {
List result = new ArrayList(values.size());
for (ListIterator iterator = values.listIterator(); iterator.hasNext();) {
Expression exp = (Expression)iterator.next();
result.add(exp.getAsTemplateModel(env));
}
return result;
}
}
}
For the benefit of extended method calls, return the list of arguments as a
list of template models. |
List getValueList(Environment env) throws TemplateException {
int size = values.size();
switch(size) {
case 0: {
return Collections.EMPTY_LIST;
}
case 1: {
return Collections12.singletonList(((Expression)values.get(0)).getStringValue(env));
}
default: {
List result = new ArrayList(values.size());
for (ListIterator iterator = values.listIterator(); iterator.hasNext();) {
Expression exp = (Expression)iterator.next();
result.add(exp.getStringValue(env));
}
return result;
}
}
}
For the benefit of method calls, return the list of arguments as a list
of values. |
boolean isLiteral() {
if (constantValue != null) {
return true;
}
for (int i = 0; i< values.size(); i++) {
Expression exp = (Expression) values.get(i);
if (!exp.isLiteral()) {
return false;
}
}
return true;
}
|