// --------------------------------------------------------------------------- // jWebSocket - jWebSocket Sample RPC-Library // Copyright (c) 2010 jWebSocket.org, Alexander Schulze, Innotrade GmbH // --------------------------------------------------------------------------- // This program is free software; you can redistribute it and/or modify it // under the terms of the GNU Lesser General Public License as published by the // Free Software Foundation; either version 3 of the License, or (at your // option) any later version. // This program is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for // more details. // You should have received a copy of the GNU Lesser General Public License along // with this program; if not, see <http://www.gnu.org/licenses/lgpl.html>. // --------------------------------------------------------------------------- package org.jwebsocket.rpc.sample; import java.util.List; import org.apache.log4j.Logger; import org.jwebsocket.api.WebSocketConnector; import org.jwebsocket.logging.Logging; import org.jwebsocket.plugins.rpc.BaseRPCCallable; import org.jwebsocket.token.Token; import org.jwebsocket.util.Tools; /** * * @author aschulze */ public class SampleRPCLibrary extends BaseRPCCallable { private static Logger mLog = null; private void logInfo(String aMessage) { if (mLog == null) { mLog = Logging.getLogger(SampleRPCLibrary.class); } if (mLog.isInfoEnabled()) { mLog.info(aMessage); } } /** * simply returns the MD5 sum of the given string. * @param aArg * @return MD5 sum of the given string. */ public Object getMD5(String aArg) { return (Tools.getMD5(aArg)); } /** * usually protected (i.e. cannot be called from client * until explicitely granted). * @param aArg * @return MD5 sum of the given string. */ public Object getProtected(String aArg) { return "Protected method has now been granted for RPC"; } public Token sampleTokenRPC(Token aToken) { // currently simply return the same token for test purposes return aToken; } /** * Exemple of 2 overloaded methods * org.jwebsocket.rpc.sample.SampleRPCLibrary.sampleOverloadRPC(int) * @param aString * @return aString */ public String sampleOverloadRPC(String aString) { // currently simply return the same string for test purposes return aString + " the String method has been called"; } /** * Exemple of 2 overloaded methods * org.jwebsocket.rpc.sample.SampleRPCLibrary.sampleOverloadRPC(int) * @param aInt * @return aInt */ public int sampleOverloadRPC(int aInt) { // currently simply return the same string for test purposes return aInt; } public String testList(List<Integer> aList) { // currently simply return the same string for test purposes return "I'm the server, testList has been called"; } public String rrpcTest1() { logInfo("rrpcTest1"); return "This is the result of 'rrpcTest1'."; } public void rrpcTest1(String arg1) { logInfo("rrpcTest11"); } public void rrpcTest1(WebSocketConnector aWebSocketConnector, int arg1) { logInfo("rrpcTest12 has been called by connector: " + aWebSocketConnector.getId()); } public void rrpcTest2(List aList, List<List<Integer>> aList2) { logInfo("rrpcTest2"); } public void rrpcTest3() { logInfo("rrpcTest3"); } }