samples/extensionpoint/src-api/org/apidesign/extensionpoint/Main.java
changeset 86 adf4440db888
child 132 3bc4c54f4bcc
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/samples/extensionpoint/src-api/org/apidesign/extensionpoint/Main.java	Sat Jun 14 09:53:48 2008 +0200
     1.3 @@ -0,0 +1,44 @@
     1.4 +package org.apidesign.extensionpoint;
     1.5 +
     1.6 +import java.util.ArrayList;
     1.7 +import java.util.Collection;
     1.8 +import java.util.Collections;
     1.9 +import java.util.List;
    1.10 +import javax.swing.JOptionPane;
    1.11 +import org.apidesign.extensionpoint.api.TipOfTheDay;
    1.12 +import org.openide.util.Lookup;
    1.13 +
    1.14 +public class Main {
    1.15 +    public static void main(String[] args) {
    1.16 +        for (;;) {
    1.17 +            // BEGIN: extension.point.Query
    1.18 +            Collection<? extends TipOfTheDay> all = Lookup.getDefault().lookupAll(TipOfTheDay.class);
    1.19 +            List<TipOfTheDay> arr = new ArrayList<TipOfTheDay>(all);
    1.20 +            Collections.shuffle(arr);
    1.21 +
    1.22 +            String msg;
    1.23 +            String title;
    1.24 +            int type;
    1.25 +            if (arr.isEmpty()) {
    1.26 +                msg = "I do not know what to say!";
    1.27 +                title = "No provider registered";
    1.28 +                type = JOptionPane.WARNING_MESSAGE;
    1.29 +            } else {
    1.30 +                msg = arr.get(0).sayHello();
    1.31 +                title = "Selected from " + arr.size() + " providers";
    1.32 +                type = JOptionPane.INFORMATION_MESSAGE;
    1.33 +            }
    1.34 +            // END: extension.point.Query
    1.35 +
    1.36 +            String again = "Once Again";
    1.37 +            String exit = "Exit";
    1.38 +            String[] options = new String[] { again, exit };
    1.39 +            int ret = JOptionPane.showOptionDialog(null, msg, title, 0, type, null, options, exit);
    1.40 +
    1.41 +            if (ret != 0) {
    1.42 +                break;
    1.43 +            }
    1.44 +        }
    1.45 +        System.exit(0);
    1.46 +    }
    1.47 +}