This standalone project demonstrates how to setup and run a Guice Injector for printing a localized time-of-the-day message to some output stream, together with some decorations to set the message apart from others.
The project provides interfaces and implementations for printers and jobs. Some implementations are decorators for printers which separate the content produced by print jobs and do some error checking. When bootstrapping, a Guice injector is configured which wires a print job for announcing the localized time-of-the-day message to a decorated printer.
The documentation for this Guice demo is available at https://christian-schlichtherle.github.io/guice-demo/. This page also contains information about how to contact the project author / team.
You need Java SE 6 and Apache Maven 3.0.4 or higher installed. Change to the repository directory and run:
$ mvn clean install
After building, you can run the standalone JAR like this:
$ java -jar target/guice-demo-*-shaded.jar
For the UK, the output should be similar to this:
---------- BEGIN PRINT ----------
Good morning.
At the third stroke, it will be eleven fifty-nine and three seconds. BEEP, BEEP, BEEP.
At the third stroke, it will be eleven fifty-nine and four seconds. BEEP, BEEP, BEEP.
At the third stroke, it will be eleven fifty-nine and five seconds. BEEP, BEEP, BEEP.
At the third stroke, it will be eleven fifty-nine and six seconds. BEEP, BEEP, BEEP.
At the third stroke, it will be eleven fifty-nine and seven seconds. BEEP, BEEP, BEEP.
---------- END PRINT ----------
You may notice that this message is similar to the messages of BT's popular Speaking Clock.
You can set different combinations of countries and languages, e.g. the following command:
$ java -Duser.language=de -Duser.country=DE -jar target/guice-demo-*-shaded.jar
... should produce a message which is similar to the messages of the Deutsche Telekom Zeitansage:
---------- DRUCK ANFANG ----------
Guten Morgen.
Beim nächsten Ton ist es elf Uhr, neunundfünfzig Minuten und zehn Sekunden. PIEP.
Beim nächsten Ton ist es elf Uhr, neunundfünfzig Minuten und elf Sekunden. PIEP.
Beim nächsten Ton ist es elf Uhr, neunundfünfzig Minuten und zwölf Sekunden. PIEP.
Beim nächsten Ton ist es elf Uhr, neunundfünfzig Minuten und dreizehn Sekunden. PIEP.
Beim nächsten Ton ist es elf Uhr, neunundfünfzig Minuten und vierzehn Sekunden. PIEP.
---------- DRUCK ENDE ----------
For fun, you can easily add other localizations. Please send me a pull request if you do, so that I can add it to the code base. I am looking forward to it.
This demo project is covered by the Eclipse Software License, Version 1.0.