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

org.jresearch.commons.gwt.client.service.CustomTools Maven / Gradle / Ivy

package org.jresearch.commons.gwt.client.service;

import javax.annotation.Nonnull;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sencha.gxt.data.shared.loader.PagingLoadConfig;
import com.sencha.gxt.data.shared.loader.PagingLoadResult;
import com.sencha.gxt.data.shared.loader.PagingLoader;

/** Helper class to create data loader by remote service */
public abstract class CustomTools {

	@SuppressWarnings("unused")
	@Nonnull
	public PagingLoader> getLoader(final C config) {
		final PagingLoader> loader = new PagingLoader>(new ServiceRpcProxy(this)) {
			@Override
			protected C newLoadConfig() {
				return createLoadConfig();
			}
		};
		loader.setRemoteSort(true);
		loader.addLoaderHandler(new ReentrantLoadPreventListener>());
		if (config != null) {
			loader.useLoadConfig(config);
		}
		return loader;
	}

	abstract protected C createLoadConfig();

	@SuppressWarnings("null")
	public PagingLoader> getLoader() {
		return getLoader((C) null);
	}

	public abstract void customLoad(C loadConfig, AsyncCallback> callback);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy