Save This Page
Home » spring-framework-2.5.5-with-dependencies » org.springframework » context » [javadoc | source]
    1   /*
    2    * Copyright 2002-2008 the original author or authors.
    3    *
    4    * Licensed under the Apache License, Version 2.0 (the "License");
    5    * you may not use this file except in compliance with the License.
    6    * You may obtain a copy of the License at
    7    *
    8    *      http://www.apache.org/licenses/LICENSE-2.0
    9    *
   10    * Unless required by applicable law or agreed to in writing, software
   11    * distributed under the License is distributed on an "AS IS" BASIS,
   12    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   13    * See the License for the specific language governing permissions and
   14    * limitations under the License.
   15    */
   16   
   17   package org.springframework.context;
   18   
   19   import java.util.Locale;
   20   
   21   /**
   22    * Strategy interface for resolving messages, with support for the parameterization
   23    * and internationalization of such messages.
   24    *
   25    * <p>Spring provides two out-of-the-box implementations for production:
   26    * <ul>
   27    * <li>{@link org.springframework.context.support.ResourceBundleMessageSource},
   28    * built on top of the standard {@link java.util.ResourceBundle}
   29    * <li>{@link org.springframework.context.support.ReloadableResourceBundleMessageSource},
   30    * being able to reload message definitions without restarting the VM
   31    * </ul>
   32    *
   33    * @author Rod Johnson
   34    * @author Juergen Hoeller
   35    * @see org.springframework.context.support.ResourceBundleMessageSource
   36    * @see org.springframework.context.support.ReloadableResourceBundleMessageSource
   37    */
   38   public interface MessageSource {
   39   
   40   	/**
   41   	 * Try to resolve the message. Return default message if no message was found.
   42   	 * @param code the code to lookup up, such as 'calculator.noRateSet'. Users of
   43   	 * this class are encouraged to base message names on the relevant fully
   44   	 * qualified class name, thus avoiding conflict and ensuring maximum clarity.
   45   	 * @param args array of arguments that will be filled in for params within
   46   	 * the message (params look like "{0}", "{1,date}", "{2,time}" within a message),
   47   	 * or <code>null</code> if none.
   48   	 * @param defaultMessage String to return if the lookup fails
   49   	 * @param locale the Locale in which to do the lookup
   50   	 * @return the resolved message if the lookup was successful;
   51   	 * otherwise the default message passed as a parameter
   52   	 * @see java.text.MessageFormat
   53   	 */
   54   	String getMessage(String code, Object[] args, String defaultMessage, Locale locale);
   55   
   56   	/**
   57   	 * Try to resolve the message. Treat as an error if the message can't be found.
   58   	 * @param code the code to lookup up, such as 'calculator.noRateSet'
   59   	 * @param args Array of arguments that will be filled in for params within
   60   	 * the message (params look like "{0}", "{1,date}", "{2,time}" within a message),
   61   	 * or <code>null</code> if none.
   62   	 * @param locale the Locale in which to do the lookup
   63   	 * @return the resolved message
   64   	 * @throws NoSuchMessageException if the message wasn't found
   65   	 * @see java.text.MessageFormat
   66   	 */
   67   	String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageException;
   68   
   69   	/**
   70   	 * Try to resolve the message using all the attributes contained within the
   71   	 * <code>MessageSourceResolvable</code> argument that was passed in.
   72   	 * <p>NOTE: We must throw a <code>NoSuchMessageException</code> on this method
   73   	 * since at the time of calling this method we aren't able to determine if the
   74   	 * <code>defaultMessage</code> property of the resolvable is null or not.
   75   	 * @param resolvable value object storing attributes required to properly resolve a message
   76   	 * @param locale the Locale in which to do the lookup
   77   	 * @return the resolved message
   78   	 * @throws NoSuchMessageException if the message wasn't found
   79   	 * @see java.text.MessageFormat
   80   	 */
   81   	String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException;
   82   
   83   }

Save This Page
Home » spring-framework-2.5.5-with-dependencies » org.springframework » context » [javadoc | source]