/**
 * 命令基类
 * @author dforrer / https://github.com/dforrer
 * Developed as part of a project at University of Applied Sciences and Arts Northwestern Switzerland (www.fhnw.ch)
 * @param editorRef pointer to main editor object used to initialize each command object with a reference to the editor
 * @constructor
 */
function Command(editorRef) {
    this.id = -1;
    this.inMemory = false;
    this.updatable = false;
    this.type = '';
    this.name = '';

    if (editorRef !== undefined) {
        Command.editor = editorRef;
    }
    this.editor = Command.editor;
};

Command.prototype.toJSON = function () {
    var output = {};
    output.type = this.type;
    output.id = this.id;
    output.name = this.name;
    return output;
};

Command.prototype.fromJSON = function (json) {
    this.inMemory = true;
    this.type = json.type;
    this.id = json.id;
    this.name = json.name;
};

export default Command;