
fr.lteconsulting.hexa.revrpc.client.RevRPCServices Maven / Gradle / Ivy
The newest version!
package fr.lteconsulting.hexa.revrpc.client;
import java.util.HashMap;
import com.google.gwt.json.client.JSONObject;
public class RevRPCServices
{
private HashMap> deserializers = new HashMap>();
public void registerService( String serviceName, Class serviceInterface, ICallDeserializer callDeserializer )
{
deserializers.put( getId( serviceName, serviceInterface.getName() ), callDeserializer );
}
public void newServiceCall( JSONObject json )
{
assert json != null;
String serviceName = json.get( "service" ).isString().stringValue();
String interfaceName = json.get( "interface" ).isString().stringValue();
JSONObject call = json.get( "value" ).isObject();
ICallDeserializer> deserializer = deserializers.get( getId( serviceName, interfaceName ) );
assert deserializer != null;
deserializer.newCall( call );
}
private String getId( String serviceName, String interfaceName )
{
return serviceName + "-" + interfaceName;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy