import org.openide.util.Lookup; public class MDRLookupTest { public static void main(String [] args) { Class[] services = new Class[] { org.netbeans.api.mdr.XMIReader.class, org.netbeans.api.mdr.XMIWriter.class, org.netbeans.api.mdr.MDRManager.class, org.netbeans.api.mdr.JMIMapper.class, javax.jmi.xmi.XmiReader.class, javax.jmi.xmi.XmiWriter.class }; for (int i = 0; i < services.length; ++i) { try { System.out.println(services[i].getName()); Lookup.Template template = new Lookup.Template(services[i]); testDefaultLookup(template); testListLookup(template); } catch (Exception e) { e.printStackTrace(); } catch (Error e) { e.printStackTrace(); } } } private static void testDefaultLookup(Lookup.Template service) { Lookup.Item item = Lookup.getDefault().lookupItem(service); System.out.print(" default: "); if (item == null) System.out.println(""); else System.out.println(item.getType().getName()); } private static void testListLookup(Lookup.Template service) { java.util.Collection items = Lookup.getDefault().lookup(service).allItems(); if (items == null || items.size() == 0) System.out.println(" "); else { java.util.Iterator i = items.iterator(); while (i.hasNext()) { Lookup.Item item = (Lookup.Item) i.next(); System.out.println(" " + item.getType().getName()); assert service.getType().isAssignableFrom(item.getType()); } } } }