1 /* 2 * #%L 3 * Nuiton Utils 4 * %% 5 * Copyright (C) 2004 - 2010 CodeLutin 6 * %% 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU Lesser General Public License as 9 * published by the Free Software Foundation, either version 3 of the 10 * License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Lesser Public License for more details. 16 * 17 * You should have received a copy of the GNU General Lesser Public 18 * License along with this program. If not, see 19 * <http://www.gnu.org/licenses/lgpl-3.0.html>. 20 * #L% 21 */ 22 package org.nuiton.util.rmi; 23 24 import java.rmi.Remote; 25 import java.rmi.RemoteException; 26 27 /** 28 * This class will act as an InvocationHandler except that it is distributed. 29 * 30 * @author Arnaud Thimel - thimel@codelutin.com 31 */ 32 public interface RemoteMethodExecutor extends Remote { 33 34 /** 35 * Acts like an InvocationHandler. 36 * 37 * @param methodName name of the method to invoke 38 * @param parametersType parameters type to reliably identify the method 39 * @param args method arguments to process the effective call 40 * @return the result of the delegate method 41 * @throws RemoteException for any error. Business exceptions will be 42 * wrapped. 43 */ 44 Object execute(String methodName, Class<?>[] parametersType, Object[] args) 45 throws RemoteException; 46 47 }