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 +}