/* Copyright (c) 2012, Yahoo! Inc. All rights reserved. Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */varFactory=require('../util/factory'),factory=newFactory('command',__dirname,true);functionCommand(){}// add register, create, mix, loadAll, getCommandList, resolveCommandName to the Command objectfactory.bindClassMethods(Command);Command.prototype={toolName:function(){returnrequire('../util/meta').NAME;},type:function(){returnthis.constructor.TYPE;},synopsis:/* istanbul ignore next: base method */function(){return"the developer has not written a one-line summary of the "+this.type()+" command";},usage:/* istanbul ignore next: base method */function(){console.error("the developer has not provided a usage for the "+this.type()+" command");},run:/* istanbul ignore next: abstract method */function(args,callback){returncallback(newError("run: must be overridden for the "+this.type()+" command"));}};module.exports=Command;