package javacodebook.misc.i18n_msg;

import java.text.MessageFormat;
import java.util.Date;

/**
 * Verwendung von MessageFormat zur Ausgaben von Texten mit
 * variablen Inhalt.
 * @author  Mark Donnermeyer
 */
public class MessageFormatExample {
    
    public static void main(String[] args) {
        
        // Beispiel mit einem String
        String[] args1 = { "Bundeskanzler" };
        showMessage("Sehr geehrter Herr {0}", args1);
        
        // Beispiel mit Zahlen
        Object[] args2 = { new Float(12.5),
        new Integer(42), new Float(54.5)
        };
        showMessage("Die Summe von {0} und {1} ist {2}", args2);
        
        // Verwendung von einfachen Anführungszeichen
        String[] args3 = { "Spencer" };
        showMessage("Aus '''Hallo {0}!''' wird ''Hallo {0}!''", args3);
        
        // Verwendung von Datumsangaben
        Date[] args4 = { new Date() };
        showMessage("Beim nächsten Piep ist es {0, time, short}", args4);
    }

    public static void showMessage(String pattern, Object[] obj) {
        MessageFormat msg = new MessageFormat(pattern);
        System.out.println(msg.format(obj));
    }
    
    
}
