/**
* ESUP-Portail Helpdesk - Copyright (c) 2004-2009 ESUP-Portail consortium.
*/
package org.esupportail.helpdesk.web.beans;
import java.util.HashMap;
import org.esupportail.commons.utils.Assert;
import org.esupportail.helpdesk.domain.ActionI18nTitleFormatter;
import org.esupportail.helpdesk.domain.beans.Action;
import org.esupportail.helpdesk.web.controllers.SessionController;
import org.springframework.beans.factory.InitializingBean;
/**
* A provider for ticket action i18n titles.
*/
public class ActionI18nTitleProvider
extends HashMap<String, String> implements InitializingBean {
/**
* The serialization id.
*/
private static final long serialVersionUID = -2439295516343652431L;
/**
* The formatter itself.
*/
private ActionI18nTitleFormatter actionI18nTitleFormatter;
/**
* The session controller.
*/
private SessionController sessionController;
/**
* Bean constructor.
*/
public ActionI18nTitleProvider() {
super();
}
/**
* @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
*/
@Override
public void afterPropertiesSet() {
Assert.notNull(this.sessionController,
"property sessionController of class " + this.getClass().getName()
+ " can not be null");
Assert.notNull(this.actionI18nTitleFormatter,
"property actionI18nTitleFormatter of class " + this.getClass().getName()
+ " can not be null");
}
/**
* @see java.util.HashMap#get(java.lang.Object)
*/
@Override
public String get(final Object action) {
return actionI18nTitleFormatter.getActionTitle((Action) action, sessionController.getLocale());
}
/**
* @return the actionI18nTitleFormatter
*/
protected ActionI18nTitleFormatter getActionI18nTitleFormatter() {
return actionI18nTitleFormatter;
}
/**
* @param actionI18nTitleFormatter the actionI18nTitleFormatter to set
*/
public void setActionI18nTitleFormatter(
final ActionI18nTitleFormatter actionI18nTitleFormatter) {
this.actionI18nTitleFormatter = actionI18nTitleFormatter;
}
/**
* @return the sessionController
*/
protected SessionController getSessionController() {
return sessionController;
}
/**
* @param sessionController the sessionController to set
*/
public void setSessionController(final SessionController sessionController) {
this.sessionController = sessionController;
}
}