/** * Used by GQuery methods which loop over matched widgets and * invoke a callback on each widget expecting a boolean value. * * @param e * the element for this call * @param index * the element position in the gquery elements array. */ public boolean f(Element e, int index) { return f((Object) e, index); }
/** * Return only the set of objects with match the predicate. */ @SuppressWarnings("unchecked") public static <T> T[] grep(T[] objects, Predicate f) { ArrayList<Object> ret = new ArrayList<Object>(); for (int i = 0, l = objects.length; i < l; i++) { if (f.f(objects[i], i)) { ret.add(objects[i]); } } return (T[]) ret.toArray(new Object[0]); }
public boolean f(Element e, int index) { return !filters.get("visible").f(e, index); } });
/** * Return whether the element is visible. */ public boolean isVisible(Element e) { return SelectorEngine.filters.get("visible").f(e, 0); }
public NodeList<Element> filter(NodeList<Element> nodes, Predicate p) { JsNodeArray res = JsNodeArray.create(); for (int i = 0, l = nodes.getLength(), j = 0; i < l; i++) { Element e = nodes.getItem(i); if (p.f(e, i)) { res.addNode(e, j++); } } return res; }
private GQuery parentsUntil(Predicate predicate) { JsNodeArray result = JsNodeArray.create(); for (Element e : elements) { int i = 0; Node par = e.getParentNode(); while (par != null && par != document) { if (predicate.f(par, i)) { break; } result.addNode(par); par = par.getParentNode(); i++; } } return new GQuery(unique(result)).setPreviousObject(this); }