public DataTablesServerDataRow (@Nonnull final HCRow aRow) { if (aRow.hasAnyStyle ()) LOGGER.warn ("Cell has styles assigned which will be lost: " + aRow.getAllStyles ()); m_sRowID = aRow.getID (); m_sRowClass = aRow.getAllClassesAsString (); for (final Map.Entry <IMicroQName, String> aEntry : aRow.customAttrs ().entrySet ()) { final IMicroQName aAttrName = aEntry.getKey (); if (CHTMLAttributes.isDataAttrName (aAttrName)) { // Data attribute if (m_aRowData == null) m_aRowData = new CommonsLinkedHashMap <> (); m_aRowData.put (aAttrName, aEntry.getValue ()); } else { // Custom non-data attribute if (m_aRowAttr == null) m_aRowAttr = new CommonsLinkedHashMap <> (); m_aRowAttr.put (aAttrName, aEntry.getValue ()); } } m_aCells = new CommonsArrayList <> (aRow.getCellCount ()); for (final IHCCell <?> aCell : aRow.getChildren ()) m_aCells.add (new DataTablesServerDataCell (aCell)); }