@Override public void decode(FacesContext context, UIComponent component) { DataTable table = (DataTable) component; for (Iterator<DataTableFeature> it = DataTable.FEATURES.values().iterator(); it.hasNext(); ) { DataTableFeature feature = it.next(); if (feature.shouldDecode(context, table)) { feature.decode(context, table); } } decodeBehaviors(context, component); }
@Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { DataTable table = (DataTable) component; if (table.shouldEncodeFeature(context)) { for (Iterator<DataTableFeature> it = DataTable.FEATURES.values().iterator(); it.hasNext(); ) { DataTableFeature feature = it.next(); if (feature.shouldEncode(context, table)) { feature.encode(context, this, table); } } } else { if (table.isLazy()) { if (table.isLiveScroll()) table.loadLazyScrollData(0, table.getScrollRows()); else table.loadLazyData(); } encodeMarkup(context, table); encodeScript(context, table); } }