1 package org.apidesign.extensionpoint;
3 import java.util.ArrayList;
4 import java.util.Collection;
5 import java.util.Collections;
7 import javax.swing.JOptionPane;
8 import org.apidesign.extensionpoint.api.TipOfTheDay;
9 import org.openide.util.Lookup;
12 public static void main(String[] args) {
14 // BEGIN: extension.point.Query
15 Collection<? extends TipOfTheDay> all =
16 Lookup.getDefault().lookupAll(TipOfTheDay.class);
17 List<TipOfTheDay> arr = new ArrayList<TipOfTheDay>(all);
18 Collections.shuffle(arr);
24 msg = "I do not know what to say!";
25 title = "No provider registered";
26 type = JOptionPane.WARNING_MESSAGE;
28 msg = arr.get(0).sayHello();
29 title = "Selected from " + arr.size() + " providers";
30 type = JOptionPane.INFORMATION_MESSAGE;
32 // END: extension.point.Query
34 String again = "Once Again";
36 String[] options = new String[] { again, exit };
37 int ret = JOptionPane.showOptionDialog(
38 null, msg, title, 0, type, null, options, exit