Search in sources :

Example 11 with ArrayPro

use of lucee.runtime.type.ArrayPro in project Lucee by lucee.

the class Some method invoke.

private static boolean invoke(PageContext pc, StringListData sld, UDF udf, ExecutorService es, List<Future<Data<Object>>> futures) throws CasterException, PageException {
    Array arr = ListUtil.listToArray(sld.list, sld.delimiter, sld.includeEmptyFieldsx, sld.multiCharacterDelimiter);
    Iterator it = (arr instanceof ArrayPro ? ((ArrayPro) arr).entryArrayIterator() : arr.entryIterator());
    Entry e;
    boolean async = es != null;
    Object res;
    while (it.hasNext()) {
        e = (Entry) it.next();
        res = _inv(pc, udf, new Object[] { e.getValue(), Caster.toDoubleValue(e.getKey()), sld.list, sld.delimiter }, e.getKey(), e.getValue(), es, futures);
        if (!async && Caster.toBooleanValue(res)) {
            return true;
        }
    }
    return false;
}
Also used : Array(lucee.runtime.type.Array) Entry(java.util.Map.Entry) ListIterator(java.util.ListIterator) ForEachQueryIterator(lucee.runtime.type.it.ForEachQueryIterator) Iterator(java.util.Iterator) ArrayPro(lucee.runtime.type.ArrayPro)

Example 12 with ArrayPro

use of lucee.runtime.type.ArrayPro in project Lucee by lucee.

the class Some method invoke.

private static boolean invoke(PageContext pc, Array arr, UDF udf, ExecutorService es, List<Future<Data<Object>>> futures) throws CasterException, PageException {
    Iterator it = (arr instanceof ArrayPro ? ((ArrayPro) arr).entryArrayIterator() : arr.entryIterator());
    Entry e;
    boolean async = es != null;
    Object res;
    while (it.hasNext()) {
        e = (Entry) it.next();
        res = _inv(pc, udf, new Object[] { e.getValue(), Caster.toDoubleValue(e.getKey()), arr }, e.getKey(), e.getValue(), es, futures);
        if (!async && Caster.toBooleanValue(res)) {
            return true;
        }
    }
    return false;
}
Also used : Entry(java.util.Map.Entry) ListIterator(java.util.ListIterator) ForEachQueryIterator(lucee.runtime.type.it.ForEachQueryIterator) Iterator(java.util.Iterator) ArrayPro(lucee.runtime.type.ArrayPro)

Aggregations

Iterator (java.util.Iterator)12 ListIterator (java.util.ListIterator)12 Entry (java.util.Map.Entry)12 ArrayPro (lucee.runtime.type.ArrayPro)12 ForEachQueryIterator (lucee.runtime.type.it.ForEachQueryIterator)12 Array (lucee.runtime.type.Array)8 ArrayImpl (lucee.runtime.type.ArrayImpl)4 KeyImpl (lucee.runtime.type.KeyImpl)1