public TemplateSequenceModel getChildNodes() { if (childBuffer != null) { final SimpleSequence seq = new SimpleSequence(childCount); for (int i = 0; i < childCount; i++) { seq.add(childBuffer[i]); } return seq; } else { return new SimpleSequence(0); } }
public TemplateCollectionModel keys() { if (keyCollection == null) { // This can only happen when IcI >= 2.3.21, an the map is a LinkedHashMap. keyCollection = new CollectionAndSequence(new SimpleSequence(map.keySet())); } return keyCollection; }
public TemplateCollectionModel values() { if (valueCollection == null) { // This can only happen when IcI >= 2.3.21, an the map is a LinkedHashMap. valueCollection = new CollectionAndSequence(new SimpleSequence(map.values())); } return valueCollection; }
@Override TemplateModel calculateResult(String s, Environment env) { SimpleSequence result = new SimpleSequence(); StringTokenizer st = new StringTokenizer(s); while (st.hasMoreTokens()) { result.add(st.nextToken()); } return result; } }
private TemplateModel emptyResult(boolean seq) { return seq ? (_TemplateAPI.getTemplateLanguageVersionAsInt(this) < _TemplateAPI.VERSION_INT_2_3_21 ? new SimpleSequence(Collections.EMPTY_LIST, null) : Constants.EMPTY_SEQUENCE) : TemplateScalarModel.EMPTY_STRING; }
MatchWithGroups(String input, Matcher matcher) { matchedInputPart = input.substring(matcher.start(), matcher.end()); final int grpCount = matcher.groupCount() + 1; groupsSeq = new SimpleSequence(grpCount); for (int i = 0; i < grpCount; i++) { groupsSeq.add(matcher.group(i)); } }
public TemplateCollectionModel keys() { return new CollectionAndSequence(new SimpleSequence(keySet(), wrapper)); }
public TemplateCollectionModel keys() { return new CollectionAndSequence(new SimpleSequence(map.keySet(), getObjectWrapper())); }
public TemplateCollectionModel values() { return new CollectionAndSequence(new SimpleSequence(map.values(), getObjectWrapper())); }
private void initKeys() throws TemplateModelException { if (keys == null) { HashSet keySet = new HashSet(); SimpleSequence keySeq = new SimpleSequence(32); addKeys(keySet, keySeq, (TemplateHashModelEx) this.left); addKeys(keySet, keySeq, (TemplateHashModelEx) this.right); size = keySet.size(); keys = new CollectionAndSequence(keySeq); } }
@Override TemplateModel _eval(Environment env) throws TemplateException { SimpleSequence list = new SimpleSequence(items.size()); for (Iterator it = items.iterator(); it.hasNext(); ) { Expression exp = (Expression) it.next(); TemplateModel tm = exp.eval(env); if (env == null || !env.isClassicCompatible()) { exp.assertNonNull(tm, env); } list.add(tm); } return list; }
public TemplateCollectionModel values() throws TemplateModelException { List<Object> values = new ArrayList<Object>(size()); TemplateModelIterator it = keys().iterator(); while (it.hasNext()) { String key = ((TemplateScalarModel) it.next()).getAsString(); values.add(get(key)); } return new CollectionAndSequence(new SimpleSequence(values, wrapper)); }
valueList.add(value); keyCollection = new CollectionAndSequence(new SimpleSequence(keyList)); valueCollection = new CollectionAndSequence(new SimpleSequence(valueList));
@Override TemplateModel _eval(Environment env) throws TemplateException { TemplateModel model = target.eval(env); if (model instanceof TemplateSequenceModel && !isBuggySeqButGoodCollection(model)) { return model; } if (!(model instanceof TemplateCollectionModel)) { throw new NonSequenceOrCollectionException(target, model, env); } TemplateCollectionModel coll = (TemplateCollectionModel) model; SimpleSequence seq = coll instanceof TemplateCollectionModelEx ? new SimpleSequence(((TemplateCollectionModelEx) coll).size()) : new SimpleSequence(); for (TemplateModelIterator iter = coll.iterator(); iter.hasNext(); ) { seq.add(iter.next()); } return seq; }
private void initValues() throws TemplateModelException { if (values == null) { SimpleSequence seq = new SimpleSequence(size()); // Note: size() invokes initKeys() if needed. int ln = keys.size(); for (int i = 0; i < ln; i++) { seq.add(get(((TemplateScalarModel) keys.get(i)).getAsString())); } values = new CollectionAndSequence(seq); } } }
throws TemplateException, IOException { if (nodeNamespaces == null) { SimpleSequence ss = new SimpleSequence(1); ss.add(currentNamespace); nodeNamespaces = ss;
TemplateSequenceModel evaluateStringsToNamespaces(Environment env) throws TemplateException { TemplateSequenceModel val = (TemplateSequenceModel) eval(env); SimpleSequence result = new SimpleSequence(val.size()); for (int i = 0; i < items.size(); i++) { Object itemExpr = items.get(i); if (itemExpr instanceof StringLiteral) { String s = ((StringLiteral) itemExpr).getAsString(); try { Environment.Namespace ns = env.importLib(s, null); result.add(ns); } catch (IOException ioe) { throw new _MiscTemplateException(((StringLiteral) itemExpr), "Couldn't import library ", new _DelayedJQuote(s), ": ", new _DelayedGetMessage(ioe)); } } else { result.add(val.get(i)); } } return result; }
final SimpleSequence catchAllParamValue; if (catchAllParamName != null) { catchAllParamValue = new SimpleSequence((ObjectWrapper) null); macroCtx.setLocalVar(catchAllParamName, catchAllParamValue); } else {
@Override TemplateElement[] accept(Environment env) throws IOException, TemplateException { TemplateModel node = targetNode.eval(env); if (!(node instanceof TemplateNodeModel)) { throw new NonNodeException(targetNode, node, env); } TemplateModel nss = namespaces == null ? null : namespaces.eval(env); if (namespaces instanceof StringLiteral) { nss = env.importLib(((TemplateScalarModel) nss).getAsString(), null); } else if (namespaces instanceof ListLiteral) { nss = ((ListLiteral) namespaces).evaluateStringsToNamespaces(env); } if (nss != null) { if (nss instanceof Environment.Namespace) { SimpleSequence ss = new SimpleSequence(1); ss.add(nss); nss = ss; } else if (!(nss instanceof TemplateSequenceModel)) { if (namespaces != null) { throw new NonSequenceException(namespaces, nss, env); } else { // Should not occur throw new _MiscTemplateException(env, "Expecting a sequence of namespaces after \"using\""); } } } env.invokeNodeHandlerFor((TemplateNodeModel) node, (TemplateSequenceModel) nss); return null; }
SimpleSequence ss = new SimpleSequence(1); ss.add(nss); nss = ss;