/** * Licensed under the Artistic License; you may not use this file * except in compliance with the License. * You may obtain a copy of the License at * * http://displaytag.sourceforge.net/license.html * * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ package org.displaytag.localization; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.Tag; /** * Interface for resource providers. Given a <code>resourceKey</code> and a <code>defaultValue</code>, a resource * provider returns the String which should be displayed. For column headers <code>resourceKey</code> will be the * value of the <code>titleKey</code> attribute, <code>defaultValue</code> will be the value of the * <code>property</code> attribute. Different resource providers can be plugged using the displaytag.properties file. * @author Fabrizio Giustina * @version $Revision: 720 $ ($Author: fgiust $) */ public interface I18nResourceProvider { /** * Returns a localized String. A resource provider is free to use both <code>resourceKey</code> or * <code>defaultValue</code> for the lookup. For example in column titles <code>defaultValue</code> is the value * of the <code>property</code> attribute and can be used as a default if <code>titleKey</code> is not * specified. * @param resourceKey used-specified resource key * @param defaultValue default or fallback value * @param tag calling tag (TableTag), which can be used to find needed ancestor tags * @param context jsp page context * @return localized String. */ String getResource(String resourceKey, String defaultValue, Tag tag, PageContext context); }