// // [% idstr %] package [% package %]; [% FOREACH import = imports -%] import [% import %]; [% END -%] /** * Dispatches requests to the {@link [% name %]Provider}. */ public class [% name %]Dispatcher extends InvocationDispatcher { /** * Creates a dispatcher that may be registered to dispatch invocation * service requests for the specified provider. */ public [% name %]Dispatcher ([% name %]Provider provider) { this.provider = provider; } // documentation inherited public InvocationMarshaller createMarshaller () { return new [% name %]Marshaller(); } // documentation inherited public void dispatchRequest ( ClientObject source, int methodId, Object[] args) throws InvocationException { switch (methodId) { [% FOREACH method = methods -%] case [% name %]Marshaller.[% method.mcode %]: (([% name %]Provider)provider).[% method.mname %]( source[% IF method.unwrapped_args %],[% END %] [% method.unwrapped_args %] ); return; [% END -%] default: super.dispatchRequest(source, methodId, args); } } }