⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messagesourceimpl.java

📁 Java EE 5 许多新功能都包含经过修补的 EJB 架构
💻 JAVA
字号:
/*
 * Copyright 2006 Borys Burnayev
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.rdacorp.petstore.business.util.impl;

import java.text.MessageFormat;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;

import com.rdacorp.petstore.business.util.MessageSource;

/**
 * @author Borys Burnayev
 */
public class MessageSourceImpl implements MessageSource {
   private ResourceBundle[] bundles;

   public MessageSourceImpl(String resourceBundleBaseName) {
      this(new String[] { resourceBundleBaseName });
   }

   public MessageSourceImpl(String[] resourceBundleBaseNames) {
      bundles = new ResourceBundle[resourceBundleBaseNames.length];
      for (int i = 0; i < resourceBundleBaseNames.length; i++) {
         ResourceBundle bundle = ResourceBundle.getBundle(resourceBundleBaseNames[i], Locale.getDefault());
         bundles[i] = bundle;
      }
   }

   public String getMessage(String code) {
      return getMessage(code, null);
   }

   public String getMessage(String code, Object arg0) {
      return getMessage(code, new Object[] { arg0 });
   }

   public String getMessage(String code, Object arg0, Object arg1) {
      return getMessage(code, new Object[] { arg0, arg1 });
   }

   public String getMessage(String code, Object arg0, Object arg1, Object arg2) {
      return getMessage(code, new Object[] { arg0, arg1, arg2 });
   }

   public String getMessage(String code, Object[] args) {
      String message = null;
      for (int i = 0; i < bundles.length; i++) {
         ResourceBundle bundle = bundles[i];
         try {
            MessageFormat formatter = new MessageFormat("");
            formatter.setLocale(Locale.getDefault());
            formatter.applyPattern(bundle.getString(code));
            message = formatter.format(args);
         }
         catch (MissingResourceException e) {
            continue;
         }
      }
      return message;
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -