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