@Override public int getColumnToSort() { if (state != null) { return state.getSortColumn(); } else { return 0; } }
@Override public void init(String name, String url, ServletRequest request, HttpSession session) { columns = new ArrayList<>(); lines = new ArrayList<>(); this.name = name; setRoutingAddress(url); this.session = session; this.request = request; state = (ArrayPaneStatusBean) session.getAttribute(getName()); if (state == null) { state = new ArrayPaneStatusBean(); session.setAttribute(getName(), state); } String target = request.getParameter(TARGET_PARAMETER_NAME); if (target != null && target.equals(name)) { String action = request.getParameter(ACTION_PARAMETER_NAME); if ("Sort".equals(action)) { String newState = request.getParameter(COLUMN_PARAMETER_NAME); if (newState != null) { int ns = Integer.parseInt(newState); if ((ns == state.getSortColumn()) || (ns + state.getSortColumn() == 0)) { state.setSortColumn(-state.getSortColumn()); } else { state.setSortColumn(ns); } } } else if ("ChangePage".equals(action)) { String index = request.getParameter(INDEX_PARAMETER_NAME); state.setFirstVisibleLine(Integer.parseInt(index)); } } if (state.getSortColumn() >= 1) { setColumnToSort(state.getSortColumn()); } }
@Override public void setColumnToSort(int columnNumber) { state.setSortColumn(columnNumber); }
@Override public void setVisibleLineNumber(int maximum) { state.setMaximumVisibleLine(maximum); }