
pl.bristleback.server.bristle.action.ActionsContainer Maven / Gradle / Ivy
/*
* Bristleback Websocket Framework - Copyright (c) 2010-2013 http://bristleback.pl
* ---------------------------------------------------------------------------
* This program 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; either version 3 of the License, or (at your
* option) any later version.
* 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.
* You should have received a copy of the GNU Lesser General Public License along
* with this program; if not, see .
* ---------------------------------------------------------------------------
*/
package pl.bristleback.server.bristle.action;
import pl.bristleback.server.bristle.action.exception.BrokenActionProtocolException;
import pl.bristleback.server.bristle.integration.spring.BristleSpringIntegration;
import java.util.Map;
/**
* //@todo class description
*
* Created on: 2012-01-23 20:02:06
*
* @author Wojciech Niemiec
*/
public class ActionsContainer {
private Map actionClasses;
public ActionClassInformation getActionClass(String actionClassName) {
ActionClassInformation actionClass = actionClasses.get(actionClassName);
if (actionClass == null) {
throw new BrokenActionProtocolException(BrokenActionProtocolException.ReasonType.NO_ACTION_CLASS_FOUND, "Cannot find action class with name \"" + actionClassName + "\".");
}
return actionClass;
}
public Object getActionClassInstance(ActionClassInformation actionClass, BristleSpringIntegration springIntegration) {
if (actionClass.isSingleton()) {
return actionClass.getSingletonActionClassInstance();
} else {
return springIntegration.getApplicationBean(actionClass.getSpringBeanName(), actionClass.getType());
}
}
public void setActionClasses(Map actionClasses) {
this.actionClasses = actionClasses;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy