001    /*
002     * Created on 30/11/2005
003     *
004     */
005    package org.trails.link;
006    
007    import java.util.Locale;
008    
009    import org.apache.tapestry.BaseComponent;
010    import org.apache.tapestry.IRequestCycle;
011    import org.apache.tapestry.PageRedirectException;
012    import org.trails.servlet.TrailsApplicationServlet;
013    
014    public abstract class LocaleLink extends BaseComponent
015    {
016    
017            public abstract String getLanguage();
018    
019            public abstract String getLinkText();
020    
021            public abstract String getCountry();
022    
023            public void click(IRequestCycle cycle)
024            {
025                    Locale locale = new Locale(getLanguage(), getCountry());
026                    getPage().getEngine().setLocale(locale);
027                    cycle.cleanup();
028                    throw new PageRedirectException(getPage());
029            }
030    
031    
032    }