package com.jaspersoft.jasperserver.jaxrs.client.core;
import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.AbstractAdapter;
import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.bundles.BundlesService;
import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.serverInfo.ServerInfoService;
import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.settings.SettingsService;
/**
* @author Tetiana Iefimenko
*/
public class AnonymousSession {
protected SessionStorage storage;
public AnonymousSession(SessionStorage storage) {
this.storage = storage;
}
public SessionStorage getStorage() {
return storage;
}
protected <ServiceType extends AbstractAdapter> ServiceType getService(Class<ServiceType> serviceClass) {
try {
return serviceClass.getConstructor(SessionStorage.class).newInstance(storage);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public ServerInfoService serverInfoService() {
return getService(ServerInfoService.class);
}
public SettingsService settingsService() {
return getService(SettingsService.class);
}
public BundlesService bundlesService() {return getService(BundlesService.class);}
}