001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.kernel.language;
016    
017    import java.util.Locale;
018    
019    import javax.portlet.PortletConfig;
020    
021    import javax.servlet.jsp.PageContext;
022    
023    /**
024     * @author Brian Wing Shun Chan
025     */
026    public interface UnicodeLanguage {
027    
028            public String format(Locale locale, String pattern, Object argument);
029    
030            public String format(
031                    Locale locale, String pattern, Object argument,
032                    boolean translateArguments);
033    
034            public String format(Locale locale, String pattern, Object[] arguments);
035    
036            public String format(
037                    Locale locale, String pattern, Object[] arguments,
038                    boolean translateArguments);
039    
040            public String format(
041                    PageContext pageContext, String pattern, LanguageWrapper argument);
042    
043            public String format(
044                    PageContext pageContext, String pattern, LanguageWrapper argument,
045                    boolean translateArguments);
046    
047            public String format(
048                    PageContext pageContext, String pattern, LanguageWrapper[] arguments);
049    
050            public String format(
051                    PageContext pageContext, String pattern, LanguageWrapper[] arguments,
052                    boolean translateArguments);
053    
054            public String format(
055                    PageContext pageContext, String pattern, Object argument);
056    
057            public String format(
058                    PageContext pageContext, String pattern, Object argument,
059                    boolean translateArguments);
060    
061            public String format(
062                    PageContext pageContext, String pattern, Object[] arguments);
063    
064            public String format(
065                    PageContext pageContext, String pattern, Object[] arguments,
066                    boolean translateArguments);
067    
068            public String format(
069                    PortletConfig portletConfig, Locale locale, String pattern,
070                    Object argument);
071    
072            public String format(
073                    PortletConfig portletConfig, Locale locale, String pattern,
074                    Object argument, boolean translateArguments);
075    
076            public String format(
077                    PortletConfig portletConfig, Locale locale, String pattern,
078                    Object[] arguments);
079    
080            public String format(
081                    PortletConfig portletConfig, Locale locale, String pattern,
082                    Object[] arguments, boolean translateArguments);
083    
084            public String get(Locale locale, String key);
085    
086            public String get(Locale locale, String key, String defaultValue);
087    
088            public String get(PageContext pageContext, String key);
089    
090            public String get(PageContext pageContext, String key, String defaultValue);
091    
092            public String get(PortletConfig portletConfig, Locale locale, String key);
093    
094            public String get(
095                    PortletConfig portletConfig, Locale locale, String key,
096                    String defaultValue);
097    
098            public String getTimeDescription(
099                    PageContext pageContext, long milliseconds);
100    
101            public String getTimeDescription(
102                    PageContext pageContext, Long milliseconds);
103    
104    }