public boolean dispatch(RequestImpl req, ResponseImpl rsp, Object node) throws IOException, ServletException { if(!req.tokens.hasMore()) return false; try { int index = req.tokens.nextAsInt(); if(traceable()) traceEval(req,rsp,node,"((List)",").get("+index+")"); List list = (List) node; if (0<=index && index<list.size()) req.getStapler().invoke(req,rsp, list.get(index)); else { if(traceable()) trace(req,rsp,"-> IndexOutOfRange [0,%d)",list.size()); rsp.sendError(SC_NOT_FOUND); } return true; } catch (NumberFormatException e) { return false; // try next } } public String toString() {
public boolean dispatch(RequestImpl req, ResponseImpl rsp, Object node) throws IOException, ServletException { if(!req.tokens.hasMore()) return false; try { int index = req.tokens.nextAsInt(); if(traceable()) traceEval(req,rsp,node,"((Object[])",")["+index+"]"); req.getStapler().invoke(req,rsp, ((Object[]) node)[index]); return true; } catch (NumberFormatException e) { return false; // try next } } public String toString() {
public boolean doDispatch(RequestImpl req, ResponseImpl rsp, Object node) throws IOException, ServletException, IllegalAccessException, InvocationTargetException { int idx = req.tokens.nextAsInt(); if(traceable()) traceEval(req,rsp,node,f.getName()+"("+idx+")"); req.getStapler().invoke(req,rsp, f.invoke(req,node,idx)); return true; } public String toString() {
public boolean doDispatch(RequestImpl req, ResponseImpl rsp, Object node) throws IOException, ServletException, IllegalAccessException, InvocationTargetException { if(isAccepted){ int idx = req.tokens.nextAsInt(); Dispatcher.anonymizedTraceEval(req, rsp, node, "%s#%s(int)", ff.getName()); if(traceable()) traceEval(req,rsp,node,ff.getName()+"("+idx+")"); req.getStapler().invoke(req,rsp, ff.invoke(req, rsp, node,idx)); return true; }else{ int idx = req.tokens.nextAsInt(); try{ return webApp.getFilteredGetterTriggerListener().onGetterTrigger(f, req, rsp, node, ff.getName()+"("+idx+")"); } finally{ req.tokens.prev(); } } } public String toString() {
public boolean doDispatch(RequestImpl req, ResponseImpl rsp, Object node) throws IOException, ServletException, IllegalAccessException, InvocationTargetException { int idx = req.tokens.nextAsInt(); Dispatcher.anonymizedTraceEval(req, rsp, node, "%s#%s(int)", ff.getName()); if(traceable()) traceEval(req,rsp,node,ff.getName()+"("+idx+")"); req.getStapler().invoke(req,rsp, ff.invoke(req, rsp, node,idx)); return true; } public String toString() {
public boolean dispatch(RequestImpl req, ResponseImpl rsp, Object node) throws IOException, ServletException { if(!req.tokens.hasMore()) return false; try { int index = req.tokens.nextAsInt(); Dispatcher.anonymizedTraceEval(req, rsp, node, "%s[idx]"); if (traceable()) traceEval(req, rsp, node, "", "[" + index + "]"); req.getStapler().invoke(req, rsp, klass.getArrayElement(node, index)); return true; } catch (IndexOutOfBoundsException e) { if(traceable()) trace(req,rsp,"-> IndexOutOfRange"); rsp.sendError(SC_NOT_FOUND); return true; } catch (NumberFormatException e) { return false; // try next } } public String toString() {
public boolean dispatch(RequestImpl req, ResponseImpl rsp, Object node) throws IOException, ServletException { if(!req.tokens.hasMore()) return false; try { int index = req.tokens.nextAsInt(); Dispatcher.anonymizedTraceEval(req, rsp, node, "%s[idx]"); if (traceable()) traceEval(req, rsp, node, "", "[" + index + "]"); req.getStapler().invoke(req, rsp, klass.getArrayElement(node, index)); return true; } catch (IndexOutOfBoundsException e) { if(traceable()) trace(req,rsp,"-> IndexOutOfRange"); rsp.sendError(SC_NOT_FOUND); return true; } catch (NumberFormatException e) { return false; // try next } } public String toString() {