1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/samples/individualsamples/src/org/apidesign/samples/Singletons.java Thu Oct 27 21:22:26 2011 +0200
1.3 @@ -0,0 +1,43 @@
1.4 +package org.apidesign.samples;
1.5 +
1.6 +/** Showing some horrible usages of singletons.
1.7 + */
1.8 +public class Singletons {
1.9 + static {
1.10 + // BEGIN: singleton.no.no
1.11 + /** initialize singletons */
1.12 + Database.init();
1.13 + OfflineQueue.init();
1.14 + CreditCardProcessor.init();
1.15 + /** use singletons */
1.16 + CreditCard c = new CreditCard(
1.17 + "1234 5678 9012 3456", 5, 2008
1.18 + );
1.19 + c.charge(100);
1.20 + // END: singleton.no.no
1.21 + }
1.22 +
1.23 + static final class Database {
1.24 + public static void init() {
1.25 + }
1.26 + }
1.27 +
1.28 + static final class OfflineQueue {
1.29 + public static void init() {
1.30 + }
1.31 + }
1.32 +
1.33 + static final class CreditCardProcessor {
1.34 + public static void init() {
1.35 + }
1.36 + }
1.37 +
1.38 + private static class CreditCard {
1.39 +
1.40 + public CreditCard(String card, int month, int year) {
1.41 + }
1.42 +
1.43 + private void charge(int amount) {
1.44 + }
1.45 + }
1.46 +}