
com.jpattern.gwt.client.AApplication Maven / Gradle / Ivy
package com.jpattern.gwt.client;
import java.util.HashMap;
import java.util.Map;
import com.jpattern.gwt.client.cache.CacheService;
import com.jpattern.gwt.client.cache.ACacheService;
import com.jpattern.gwt.client.history.DirectHistoryEngine;
import com.jpattern.gwt.client.history.HistoryService;
import com.jpattern.gwt.client.history.AHistoryService;
import com.jpattern.gwt.client.history.NullHistoryManagerObserver;
import com.jpattern.gwt.client.logger.ALoggerService;
import com.jpattern.gwt.client.logger.NullLoggerService;
import com.jpattern.gwt.client.serializer.ASerializerService;
import com.jpattern.gwt.client.serializer.NullSerializerService;
import com.jpattern.gwt.client.session.ISession;
import com.jpattern.gwt.client.session.Session;
/**
*
* @author Francesco Cina'
*
* 12 Apr 2011
*/
public abstract class AApplication implements IApplicationProvider, IApplicationSystem {
private Map serviceMap = new HashMap();
private ASerializerService serializerService;
private ALoggerService loggerService;
private AServerCallService serverCallService;
private ACacheService cacheService;
private AHistoryService historyService;
private AManagedErrorService managedErrorService;
private Session session = new Session();
public AApplication() {
setSerializerService(new NullSerializerService());
setLoggerService(new NullLoggerService());
setServerCallService(new RestServerCallService());
setCacheService( new CacheService() );
setHistoryService( new HistoryService(new DirectHistoryEngine(new NullLoggerService()), new NullHistoryManagerObserver(), new NullLoggerService()) );
setManagedErrorService(new ManagedErrorService(this));
}
@Override
public final ALoggerService getLoggerService() {
return loggerService;
}
@Override
public final void setLoggerService(ALoggerService loggerService) {
if (loggerService!=null) {
this.loggerService = loggerService;
this.loggerService.setProvider(this);
}
}
@Override
public final AServerCallService getServerCallService() {
return serverCallService;
}
@Override
public final void setServerCallService(AServerCallService serverCallService) {
if (serverCallService!=null) {
this.serverCallService = serverCallService;
this.serverCallService.setProvider(this);
}
}
@Override
public final AService getService(String serviceName) {
if (serviceMap.containsKey(serviceName)) {
return serviceMap.get(serviceName);
}
return new NullService();
}
@Override
public final void addService(String serviceName, AService service){
service.setProvider(this);
serviceMap.put(serviceName, service);
}
@Override
public final ASerializerService getSerializerService() {
return serializerService;
}
@Override
public final void setSerializerService(ASerializerService serializerService) {
this.serializerService = serializerService;
this.serializerService.setProvider(this);
}
@Override
public final ACacheService getCacheService() {
return cacheService ;
}
@Override
public final AHistoryService getHistoryService() {
return historyService;
}
@Override
public final void setHistoryService(AHistoryService historyService) {
this.historyService = historyService;
this.historyService.setProvider(this);
}
@Override
public final AManagedErrorService getManagedErrorService() {
return managedErrorService;
}
@Override
public final ISession getSession() {
return session;
}
@Override
public void setCacheService(ACacheService cacheService) {
if (this.cacheService != null) {
session.removeObserver(this.cacheService);
}
session.addObserver(cacheService);
this.cacheService = cacheService;
this.cacheService.setProvider(this);
}
@Override
public void setManagedErrorService(AManagedErrorService managedErrorService) {
this.managedErrorService = managedErrorService;
this.managedErrorService.setProvider(this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy