
org.ow2.bonita.util.EngineEnvTool Maven / Gradle / Ivy
/**
* Copyright (C) 2006 Bull S. A. S.
* Bull, Rue Jean Jaures, B.P.68, 78340, Les Clayes-sous-Bois
* This library is free software; you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Foundation
* version 2.1 of the License.
* This library 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 Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301, USA.
**/
package org.ow2.bonita.util;
import org.ow2.bonita.pvm.env.Environment;
import org.ow2.bonita.pvm.session.TimerSession;
import org.ow2.bonita.definition.activity.HookExecutor;
import org.ow2.bonita.services.Repository;
import org.ow2.bonita.services.util.ServiceEnvTool;
/**
* This class holds the {@link EnvironmentFactory} singleton.
*
* The {@link EnvironmentFactory} returned by {@link #getEnvironmentFactory()} comes from the
* parsing of the resource defined by the property
* {@link #ENVIRONMENT_PROPERTY}. If this property has not been set, the
* {@link #DEFAULT_ENVIRONMENT} resource is used and parsed.
*
* @author Marc Blachon, Guillaume Porcher, Charles Souillard, Miguel Valdes, Pierre Vigneras
*/
public class EngineEnvTool extends ServiceEnvTool {
protected EngineEnvTool() { }
protected static T getEnvClass(final Class clazz) {
final Environment environment = getEnv();
final T object = environment.get(clazz);
if (object == null) {
throw new BonitaRuntimeException("No object of class " + clazz.getName() + " found in environment!");
}
return object;
}
public static Repository getRepository() {
return getEnvClass(Repository.class);
}
public static HookExecutor getHookExecutor() {
return getEnvClass(HookExecutor.class);
}
public static TimerSession getTimerSession() {
return getEnvClass(TimerSession.class);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy