var ModelIface = require ('./object'); /** * Monitorizes all changes made to a model. */ var Klass = new Class (); module.exports = Klass; var Mode = { ON_CHANGE : 1 ,ON_DEMAND : 2 }; var Operation = { INSERT : 1 << 1 ,UPDATE : 1 << 2 ,DELETE : 1 << 3 }; Klass.extend ({ Mode: Mode ,Operation: Operation }); Klass.implement ({ Implements: ModelIface ,Properties: { /** * Update mode. */ mode: { enumType: Mode ,value: Mode.ON_CHANGE } } /** * Updates a value on the model. * * @param {number} rowIndex The row index * @param {string} columnName The column name * @param {*} value The new value */ ,set: function () {} /** * Updates a value on the model using the column index. * * @param {number} rowIndex The row index * @param {number} col The column index * @param {*} value The new value */ ,setByIndex: function () {} /** * Deletes a row from the model. * * @param {number} rowIndex The row index */ ,deleteRow: function () {} /** * Inserts a new row on the model. * * @return The index of the inserted row */ ,insertRow: function () {} /** * Cleans the model data. */ ,clean: function () {} /** * Performs all model changes on the database. */ ,performOperations: function () {} });