ComponentWithBrowseButton - optional remove listener on hide
[fedora-idea.git] / platform / platform-impl / src / com / intellij / diagnostic / DiagnosticBundle.java
blob3e0b118e953e65044242e79401596d472ab9b4d5
1 /*
2 * Copyright 2000-2009 JetBrains s.r.o.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 package com.intellij.diagnostic;
18 import com.intellij.CommonBundle;
19 import org.jetbrains.annotations.NonNls;
20 import org.jetbrains.annotations.PropertyKey;
22 import java.lang.ref.Reference;
23 import java.lang.ref.SoftReference;
24 import java.util.ResourceBundle;
26 /**
27 * @author yole
29 public class DiagnosticBundle {
30 private static Reference<ResourceBundle> ourBundle;
32 @NonNls private static final String BUNDLE = "messages.DiagnosticBundle";
34 private DiagnosticBundle() {
37 public static String message(@PropertyKey(resourceBundle = BUNDLE)String key, Object... params) {
38 return CommonBundle.message(getBundle(), key, params);
41 private static ResourceBundle getBundle() {
42 ResourceBundle bundle = null;
43 if (ourBundle != null) bundle = ourBundle.get();
44 if (bundle == null) {
45 bundle = ResourceBundle.getBundle(BUNDLE);
46 ourBundle = new SoftReference<ResourceBundle>(bundle);
48 return bundle;