001    /**
002     * Implements the Cold Fusion Function formatbasen
003     */
004    package railo.runtime.functions.displayFormatting;
005    
006    import java.util.Locale;
007    
008    import railo.commons.lang.StringUtil;
009    import railo.runtime.PageContext;
010    import railo.runtime.exp.ExpressionException;
011    import railo.runtime.ext.function.Function;
012    import railo.runtime.op.Caster;
013    
014    public final class GetLocaleDisplayName implements Function {
015            public static String call(PageContext pc) {
016                    return _call(pc.getLocale(), pc.getLocale());
017            }
018            
019            public static String call(PageContext pc , String locale) throws ExpressionException {
020                    Locale l = Caster.toLocale(locale);
021                    return _call(l, l);
022            }
023            
024            public static String call(PageContext pc , String locale, String dspLocale) throws ExpressionException {
025                    if(StringUtil.isEmpty(dspLocale))dspLocale=locale;
026                    return _call(Caster.toLocale(locale), Caster.toLocale(dspLocale));
027            }
028            
029            private static String _call(Locale locale, Locale dspLocale) {
030                    return locale.getDisplayName(dspLocale);
031            }
032    
033            
034            
035    }