org.granite.context.GraniteContext Maven / Gradle / Ivy
/*
GRANITE DATA SERVICES
Copyright (C) 2011 GRANITE DATA SERVICES S.A.S.
This file is part of Granite Data Services.
Granite Data Services is free software; you can redistribute it and/or modify
it under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
Granite Data Services is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, see .
*/
package org.granite.context;
import java.util.Map;
import org.granite.config.GraniteConfig;
import org.granite.config.flex.ServicesConfig;
/**
* @author Franck WOLFF
*/
public abstract class GraniteContext {
private static ThreadLocal instance = new ThreadLocal() {
@Override
protected GraniteContext initialValue() {
return (null);
}
};
private final GraniteConfig graniteConfig;
private final ServicesConfig servicesConfig;
private final AMFContext amfContext;
public GraniteContext(GraniteConfig graniteConfig, ServicesConfig servicesConfig) {
this.servicesConfig = servicesConfig;
this.graniteConfig = graniteConfig;
this.amfContext = new AMFContextImpl();
}
public static GraniteContext getCurrentInstance() {
return instance.get();
}
protected static void setCurrentInstance(GraniteContext context) {
instance.set(context);
}
public static void release() {
instance.set(null);
}
public ServicesConfig getServicesConfig() {
return servicesConfig;
}
public GraniteConfig getGraniteConfig() {
return graniteConfig;
}
public AMFContext getAMFContext() {
return amfContext;
}
public abstract Object getSessionLock();
public abstract Map getInitialisationMap();
public abstract Map getApplicationMap();
public abstract Map getSessionMap();
public abstract Map getSessionMap(boolean create);
public abstract Map getRequestMap();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy