package fr.lteconsulting.hexa.rebind;
import java.util.ArrayList;
import fr.lteconsulting.hexa.client.comm.DataProxyFast;
import fr.lteconsulting.hexa.client.comm.GenericJSO;
import com.google.gwt.core.client.JsArray;
public class ServerImpl
{
public interface Proxy<T>
{
public T create( GenericJSO jso );
}
@SuppressWarnings( "unused" )
private <T> ArrayList<T> deserializeArray( JsArray<GenericJSO> jsoss, Proxy<T> proxy )
{
ArrayList<T> list = new ArrayList<T>();
for( int i = 0; i < jsoss.length(); i++ )
list.add( proxy.create( jsoss.get( i ) ) );
return list;
}
/*
* EXAMPLE DATA PROXY FAST
*/
interface Daat extends DataProxyFast
{
int getId();
}
/*
* class DaatDataProxyFastFactory implements
* DataProxyFastFactories.IDataProxyFastFactory { class DaatImpl extends
* GenericJSO implements Daat { protected DaatImpl() {}
*
* public final int getId() { return getInt( "field_name" ); } }
*
* @Override public <T> T getData( JavaScriptObject obj ) { return
* (T)((DaatImpl)obj); } }
*/
}