Beispiel ListResourceBundle

Ein Resource-Bundle ohne Dateien, realisiert als ListResourceBundle, kann so aussehen:

com/tutego/insel/bundle/MonthResourceBundle_de_DE.java, MonthResourceBundle_de_DE

public class MonthResourceBundle_de_DE extends ListResourceBundle {

private static final String[] MONTHS = {

„Jan“, „Feb“, „Mrz“, „Apr“, „Mai“, „Jun“, „Jul“, „Aug“, „Sep“, „Okt“, „Nov“, „Dez“

};

private static final Object[][] contents = {

{ „jan“, MONTHS[0] },

{ „month“, MONTHS }

};

@Override

protected Object[][] getContents() {

return contents;

}

}

Die Nutzung der Klasse ist wie folgt:

com/tutego/insel/bundle/MonthResourceBundleDemo.java, main()

ResourceBundle bundle = ResourceBundle.getBundle( „com.tutego.insel.bundle.MonthResourceBundle“ );

System.out.println( bundle.getString( „jan“ ) ); // Jan

System.out.println( Arrays.toString( bundle.getStringArray( „month“ ) ) ); // [Jan, Feb, …

System.out.println( Collections.list( bundle.getKeys() ) ); // [month, jan]

In diesem Fall lädt ResourceBundle.getBundle(…) keine Property-Datei, sondern eine Klasse im Klassenpfad. Die API von ResourceBundle bietet auch eine Methode getStringArray(), die ein Feld zurückgibt, jedoch ist das bei Ressourcen-Dateien nicht nötig, nur bei Ressourcen, die „von Hand“ programmiert wurden, wie in unserem Beispiel.

Ähnliche Beiträge

Veröffentlicht in Insel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.