SequenceIterator(TemplateSequenceModel sequence) throws TemplateModelException { this.sequence = sequence; this.size = sequence.size(); } public TemplateModel next() throws TemplateModelException {
private ChunkedSequence( TemplateSequenceModel wrappedTsm, int chunkSize, TemplateModel fillerItem) throws TemplateModelException { this.wrappedTsm = wrappedTsm; this.chunkSize = chunkSize; this.fillerItem = fillerItem; numberOfChunks = (wrappedTsm.size() + chunkSize - 1) / chunkSize; }
public int size() throws TemplateModelException { return fillerItem != null || chunkIndex + 1 < numberOfChunks ? chunkSize : wrappedTsm.size() - baseIndex; }
public int size() throws TemplateModelException { return seq.size(); } }
@Override public int size() { try { return model.size(); } catch (TemplateModelException e) { throw new UndeclaredThrowableException(e); } }
public TemplateModel get(int relIndex) throws TemplateModelException { int absIndex = baseIndex + relIndex; if (absIndex < wrappedTsm.size()) { return wrappedTsm.get(absIndex); } else { return absIndex < numberOfChunks * chunkSize ? fillerItem : null; } }
public int size() throws TemplateModelException { if (model instanceof TemplateSequenceModel) { return ((TemplateSequenceModel) model).size(); } return ((TemplateHashModelEx) model).size(); }
@Override TemplateModel calculateResult(TemplateSequenceModel tsm) throws TemplateModelException { int size = tsm.size(); if (size == 0) { return null; } return tsm.get(size - 1); } }
private TemplateModel calculateResultForSequence(TemplateSequenceModel seq) throws TemplateModelException { if (seq.size() == 0) { return null; } return seq.get(0); }
int findInSeq(TemplateModel searched) throws TemplateModelException { final int seqSize = m_seq.size(); final int actualStartIndex; if (findFirst) { actualStartIndex = 0; } else { actualStartIndex = seqSize - 1; } return findInSeq(searched, actualStartIndex, seqSize); }
public TemplateModel get(int index) throws TemplateModelException { return seq.get(seq.size() - 1 - index); }
private int findInSeq(TemplateModel searched, int startIndex) throws TemplateModelException { int seqSize = m_seq.size(); if (findFirst) { if (startIndex >= seqSize) { return -1; } if (startIndex < 0) { startIndex = 0; } } else { if (startIndex >= seqSize) { startIndex = seqSize - 1; } if (startIndex < 0) { return -1; } } return findInSeq(searched, startIndex, seqSize); }
public int size() throws TemplateModelException { if (sequence != null) { return sequence.size(); } if (collection instanceof TemplateCollectionModelEx) { return ((TemplateCollectionModelEx) collection).size(); } else { initSequence(); return data.size(); } }
public Object exec(List args) throws TemplateModelException { checkMethodArgCount(args, 1); TemplateModel arg = (TemplateModel) args.get(0); int size = m_seq.size(); for (int i = 0; i < size; i++) { if (modelsEqual(i, m_seq.get(i), arg, m_env)) return TemplateBooleanModel.TRUE; } return TemplateBooleanModel.FALSE; }
public TemplateModel get(int i) throws TemplateModelException { int ls = left.size(); return i < ls ? left.get(i) : right.get(i - ls); } }
private TemplateModel calculateResultForSequence(TemplateSequenceModel seq, Environment env) throws TemplateException { TemplateModel best = null; for (int i = 0; i < seq.size(); i++) { TemplateModel cur = seq.get(i); if (cur != null && (best == null || EvalUtil.compare(cur, null, comparatorOperator, null, best, null, this, true, false, false, false, env))) { best = cur; } } return best; }
@Override public int __len__() { try { if (model instanceof TemplateSequenceModel) { return ((TemplateSequenceModel) model).size(); } if (model instanceof TemplateHashModelEx) { return ((TemplateHashModelEx) model).size(); } } catch (TemplateModelException e) { throw Py.JavaError(e); } return 0; }
@Override public boolean __nonzero__() { try { if (model instanceof TemplateBooleanModel) { return ((TemplateBooleanModel) model).getAsBoolean(); } if (model instanceof TemplateSequenceModel) { return ((TemplateSequenceModel) model).size() > 0; } if (model instanceof TemplateHashModel) { return !((TemplateHashModelEx) model).isEmpty(); } } catch (TemplateModelException e) { throw Py.JavaError(e); } return false; }
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; }