/** * Return the datamodel for this table, potentially fetching the data from a backing bean via a value-binding if * this is the first time this method has been called. * <p> * This is complicated by the fact that this table may be nested within another table. In this case a different * datamodel should be fetched for each row. When nested within a parent table, the parent reference won't change * but parent.getContainerClientId() will, as the suffix changes * depending upon the current row index. A map object on this * component is therefore used to cache the datamodel for each row of the table. In the normal case where this table * is not nested inside a component that changes its id (like a table does) then this map only ever has one entry. */ protected DataModel getDataModel() { DataModel dataModel; String clientID = ""; UIComponent parent = getParent(); if (parent != null) { clientID = parent.getContainerClientId(getFacesContext()); } dataModel = _dataModelMap.get(clientID); if (dataModel == null) { dataModel = createDataModel(); _dataModelMap.put(clientID, dataModel); } return dataModel; }
if (dataModel == null) dataModel = createDataModel(); _dataModelMap.put(clientID, dataModel);
setDataModel(new IterableDataModel<>(((Map<?, ?>) current).entrySet())); } else { DataModel<?> dataModel = createDataModel(current.getClass()); if (dataModel != null) { dataModel.setWrappedData(current);
setDataModel(new IterableDataModel<>(((Map<?, ?>) current).entrySet())); } else { DataModel<?> dataModel = createDataModel(current.getClass()); if (dataModel != null) { dataModel.setWrappedData(current);
setDataModel(new IterableDataModel<>(((Map<?, ?>) current).entrySet())); } else { DataModel<?> dataModel = createDataModel(current.getClass()); if (dataModel != null) { dataModel.setWrappedData(current);
setDataModel(new IterableDataModel<>(((Map<?, ?>) current).entrySet())); } else { DataModel<?> dataModel = createDataModel(current.getClass()); if (dataModel != null) { dataModel.setWrappedData(current);
setDataModel(new IterableDataModel<>(((Map<?, ?>) current).entrySet())); } else { DataModel<?> dataModel = createDataModel(current.getClass()); if (dataModel != null) { dataModel.setWrappedData(current);
setDataModel(new IterableDataModel<>(((Map<?, ?>) current).entrySet())); } else { DataModel<?> dataModel = createDataModel(current.getClass()); if (dataModel != null) { dataModel.setWrappedData(current);
setDataModel(new IterableDataModel<>(((Map<?, ?>) current).entrySet())); } else { DataModel<?> dataModel = createDataModel(current.getClass()); if (dataModel != null) { dataModel.setWrappedData(current);