Save This Page
Home » tapestry-src-5.0.19 » org.apache.tapestry5.ioc.internal.util » [javadoc | source]
    1   // Copyright 2006 The Apache Software Foundation
    2   //
    3   // Licensed under the Apache License, Version 2.0 (the "License");
    4   // you may not use this file except in compliance with the License.
    5   // You may obtain a copy of the License at
    6   //
    7   //     http://www.apache.org/licenses/LICENSE-2.0
    8   //
    9   // Unless required by applicable law or agreed to in writing, software
   10   // distributed under the License is distributed on an "AS IS" BASIS,
   11   // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   12   // See the License for the specific language governing permissions and
   13   // limitations under the License.
   14   
   15   package org.apache.tapestry5.ioc.internal.util;
   16   
   17   import org.apache.tapestry5.ioc.MessageFormatter;
   18   
   19   import java.util.Locale;
   20   
   21   
   22   public class MessageFormatterImpl implements MessageFormatter
   23   {
   24       private final String format;
   25   
   26       private final Locale locale;
   27   
   28       public MessageFormatterImpl(String format, Locale locale)
   29       {
   30           this.format = format;
   31           this.locale = locale;
   32       }
   33   
   34       public String format(Object... args)
   35       {
   36           for (int i = 0; i < args.length; i++)
   37           {
   38               Object arg = args[i];
   39   
   40               if (Throwable.class.isInstance(arg))
   41               {
   42                   args[i] = InternalUtils.toMessage((Throwable) arg);
   43               }
   44           }
   45   
   46           // Might be tempting to create a Formatter object and just keep reusing it ... but
   47           // Formatters are not threadsafe.
   48   
   49           return String.format(locale, format, args);
   50       }
   51   
   52   }

Save This Page
Home » tapestry-src-5.0.19 » org.apache.tapestry5.ioc.internal.util » [javadoc | source]