All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.wicketstuff.kendo.ui.KendoCultureHeaderContributor Maven / Gradle / Ivy

package org.wicketstuff.kendo.ui;

import java.util.Locale;

import org.apache.wicket.Session;
import org.apache.wicket.markup.head.HeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.IHeaderContributor;

/**
 * {@link IHeaderContributor} to automatically add the {@link KendoCultureHeaderItem} to each rendered page, using the specified culture.
* If no culture is specified, the Session's Locale *culture* will be used. If that culture is invalid, the Session's Locale *language* will be used. If Session's Locale *language* is still invalid, the {@code IHeaderContributor} will not * be rendered, providing a natural fallback to default widget's culture/language.
*
* Usage: * *
 * 
 * public class MyApplication extends WebApplication
 * {
 * 	public void init()
 * 	{
 * 		super.init();
 * 		
 * 		this.getHeaderContributorListeners().add(new KendoCultureHeaderContributor());
 * 	}
 * }
 * 
 * 
* * @author Patrick Davids - Patrick1701 * */ public class KendoCultureHeaderContributor implements IHeaderContributor { private static final long serialVersionUID = 1L; private final String culture; /** * Constructor that will use the current {@link Session#getLocale()} culture/language */ public KendoCultureHeaderContributor() { this.culture = null; } /** * Constructor * * @param culture the culture or language, ie: 'fr' or 'fr-FR' */ public KendoCultureHeaderContributor(String culture) { this.culture = culture; } /** * Constructor * * @param locale the {@link Locale}, ie: Locale.FRENCH */ public KendoCultureHeaderContributor(Locale locale) { this(locale.toLanguageTag()); // java7 } /** * Constructor * * @param culture the {@link KendoCulture} */ public KendoCultureHeaderContributor(KendoCulture culture) { this(culture.toString()); } @Override public void renderHead(IHeaderResponse response) { final Locale locale = Session.get().getLocale(); // locale cannot be null HeaderItem item = KendoCultureHeaderItem.of(this.culture, locale.toLanguageTag(), locale.getLanguage()); if (item != null) { response.render(item); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy