1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
--
-- (C) 2021 - ntop.org
--
-- Import the classes library.
local classes = require "classes"
-- ##############################################
local datamodel = classes.class()
-- ##############################################
function datamodel:init(labels)
self.column_labels = labels
self._data = {} -- Data container (legacy, to be removed)
end
-- ######################################
-- @brief append data to the model.
function datamodel:append()
-- Must be implemented in subclasses
end
-- ######################################
-- @brief Data consolidation to be called after `append`ing data
function datamodel:aggregate()
-- Possibly implemented in subclasses
end
-- ######################################
-- @brief Returns datamodel data as-is, without any transformation
function datamodel:get_data()
return self._data
end
-- ######################################
-- Transform and return datamodel data
function datamodel:transform(transformation)
-- Data is possibly transformed in subclasses
return self:get_data()
end
-- ######################################
return(datamodel)
|