var Class = require("../class/Class.js").Class;
var EventDispatcher = require('../event/EventDispatcher.js').EventDispatcher;

/**
 * @class AbstractDecorator
 * @extends EventDispatcher
 * @requires Class
 * @requires EventDispatcher
 */
var AbstractDecorator = function () {
    /** @ignore */
    this.Extends = EventDispatcher;

    /** @ignore */
    this.initialize = function () {
        this.parent();
        //throw "Cannot instantiate abstract class";
    };
};

AbstractDecorator = new Class(new AbstractDecorator());
AbstractDecorator.COMPLETE = "complete";
AbstractDecorator.ERROR = "error";
exports.AbstractDecorator = AbstractDecorator;
