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;