All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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