1 var Class = require("../lib/mootools/mootools-node.js").Class; 2 3 var EventDispatcher = require('../lib/core/event/EventDispatcher').EventDispatcher; 4 5 /** 6 * Abstract class - direct instance cannot be created. 7 * @class Providing simple interface of Driver's 8 * @extends EventDispatcher 9 * @throws {DriverAbstract.Exception.INITIALIZE_NOT_IMPLEMENTED} 10 * @requires Class 11 * @requires EventDispatcher 12 */ 13 var DriverAbstract = function(){ 14 15 /** @ignore */ 16 this.Extends = EventDispatcher; 17 18 /** @ignore */ 19 this.initialize = function(){ 20 throw DriverAbstract.Exception.INITIALIZE_NOT_IMPLEMENTED; 21 }; 22 /** 23 * Iterface method. Should execute model loading. 24 * @throws {DriverAbstract.Exception.LOAD_NOT_IMPLEMENTED} 25 */ 26 this.load = function(){ 27 throw DriverAbstract.Exception.LOAD_NOT_IMPLEMENTED; 28 }; 29 }; 30 31 DriverAbstract = new Class(new DriverAbstract()); 32 /** 33 * @constant 34 * @static 35 */ 36 DriverAbstract.LOADED = "DriverAbstract_LOADED"; 37 /** 38 * @constant 39 * @static 40 */ 41 DriverAbstract.ERROR = "DriverAbstract_ERROR"; 42 43 /** 44 * Namespace for exeptions messages. 45 * @constant 46 * @static 47 * @namespace 48 */ 49 DriverAbstract.Exception = {}; 50 /** 51 * 52 * @constant 53 * @static 54 */ 55 DriverAbstract.Exception.INITIALIZE_NOT_IMPLEMENTED = "Method::initialize() - not implemented!"; 56 /** 57 * @constant 58 * @static 59 */ 60 DriverAbstract.Exception.LOAD_NOT_IMPLEMENTED = "Method::load() - not implemented!"; 61 62 exports.DriverAbstract = DriverAbstract;