(function(window) { var Gitana = window.Gitana; Gitana.AbstractSelfableObject = Gitana.AbstractObject.extend( /** @lends Gitana.AbstractSelfableObject.prototype */ { /** * @constructs * @augments Gitana.AbstractObject * * @class Abstract base class for selfable Gitana document objects. * * @param {Gitana} driver * @param {Object} [object] */ constructor: function(driver, object) { // finally chain to parent prototype this.base(driver, object); }, ////////////////////////////////////////////////////////////////////////////////////////////////// // // SELFABLE // ////////////////////////////////////////////////////////////////////////////////////////////////// /** * Delete * * @chained this * * @public */ del: function() { var self = this; var uriFunction = function() { return self.getUri(); }; // NOTE: pass control back to the server instance return this.chainDelete(this.getPlatform(), uriFunction); }, /** * Reload * * @chained this * * @public */ reload: function() { var self = this; var uriFunction = function() { return self.getUri(); }; return this.chainReload(null, uriFunction); }, /** * Update * * @chained this * * @public */ update: function() { var self = this; var uriFunction = function() { return self.getUri(); }; return this.chainUpdate(null, uriFunction); } }); })(window);