Skip to content

Commit 2b82fb3

Browse files
author
oleg
committed
Added wrapper for Messages.properties bundle as a component
1 parent c344082 commit 2b82fb3

File tree

3 files changed

+74
-26
lines changed

3 files changed

+74
-26
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<modelVersion>4.0.0</modelVersion>
88
<artifactId>plexus-i18n</artifactId>
99
<name>Plexus I18N Component</name>
10-
<version>1.0-beta-9-SNAPSHOT</version>
10+
<version>1.0-beta-10-SNAPSHOT</version>
1111
<build>
1212
<plugins>
1313
<plugin>
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package org.codehaus.plexus.i18n;
2+
3+
import java.util.Locale;
4+
import java.util.ResourceBundle;
5+
6+
7+
/**
8+
*
9+
*
10+
* @author <a href="[email protected]">Oleg Gusakov</a>
11+
*
12+
* @plexus.component
13+
* role="org.codehaus.plexus.i18n.Language"
14+
*/
15+
public class DefaultLanguage
16+
implements Language
17+
{
18+
public static String DEFAULT_NAME = "Messages";
19+
20+
private Class clazz;
21+
ResourceBundle rb;
22+
//-------------------------------------------------------------------------------------
23+
public DefaultLanguage()
24+
{
25+
}
26+
//-------------------------------------------------------------------------------------
27+
public DefaultLanguage( Class clazz )
28+
{
29+
this( clazz, Locale.getDefault() );
30+
}
31+
//-------------------------------------------------------------------------------------
32+
public DefaultLanguage( Class clazz, Locale locale )
33+
{
34+
this.clazz = clazz;
35+
rb = ResourceBundle.getBundle( clazz.getPackage().getName()+"."+DEFAULT_NAME, locale, clazz.getClassLoader() );
36+
}
37+
//-------------------------------------------------------------------------------------
38+
public Language init()
39+
{
40+
return new DefaultLanguage();
41+
}
42+
//-------------------------------------------------------------------------------------
43+
public Language init(Class clazz, Locale locale)
44+
{
45+
return new DefaultLanguage( clazz, locale );
46+
}
47+
//-------------------------------------------------------------------------------------
48+
public Language init(Class clazz)
49+
{
50+
return new DefaultLanguage( clazz );
51+
}
52+
//-------------------------------------------------------------------------------------
53+
public String getMessage( String key )
54+
throws LanguageException
55+
{
56+
if( rb == null )
57+
throw new LanguageException("resourceBundle not initialized for "+(clazz==null?"null":clazz.getName() ) );
58+
59+
return rb.getString(key);
60+
}
61+
//-------------------------------------------------------------------------------------
62+
//-------------------------------------------------------------------------------------
63+
}
Lines changed: 10 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,22 @@
11
package org.codehaus.plexus.i18n;
22

33
import java.util.Locale;
4-
import java.util.ResourceBundle;
54

6-
public class Language
5+
public interface Language
76
{
8-
public static String DEFAULT_NAME = "Messages";
9-
10-
private Class clazz;
11-
ResourceBundle rb;
12-
13-
public Language()
14-
{
15-
}
7+
public static String ROLE = Language.class.getName();
8+
9+
/** look for Messages.properties in the clazz package by default */
10+
public static final String DEFAULT_NAME = "Messages";
11+
12+
public Language init();
1613

17-
public Language( Class clazz )
18-
{
19-
this( clazz, Locale.getDefault() );
20-
}
14+
public Language init( Class clazz );
2115

22-
public Language( Class clazz, Locale locale )
23-
{
24-
this.clazz = clazz;
25-
rb = ResourceBundle.getBundle( clazz.getPackage().getName()+"."+DEFAULT_NAME, locale, clazz.getClassLoader() );
26-
}
16+
public Language init( Class clazz, Locale locale );
2717

2818
public String getMessage( String key )
2919
throws LanguageException
30-
{
31-
if( rb == null )
32-
throw new LanguageException("resourceBundle not initialized for "+(clazz==null?"null":clazz.getName() ) );
33-
34-
return rb.getString(key);
35-
}
20+
;
3621

3722
}

0 commit comments

Comments
 (0)