001    package org.crsh.command;
002    
003    import groovy.lang.Closure;
004    
005    /** @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a> */
006    class CommandClosure extends Closure {
007    
008    
009      /** . */
010      private final CommandDispatcher dispatcher;
011    
012      /** . */
013      private final String name;
014    
015      CommandClosure(CommandDispatcher dispatcher, String name) {
016        super(dispatcher);
017    
018        //
019        this.dispatcher = dispatcher;
020        this.name = name;
021      }
022    
023      @Override
024      public Object call(Object[] args) {
025        return dispatcher.dispatch(name, args);
026      }
027    }
028    
029    
030