private List computeAdapterOrder(List classList) { Set result = new HashSet(4); IAdapterManager adapterMgr = Platform.getAdapterManager(); for (Iterator list = classList.iterator(); list.hasNext();) { Class clazz = ((Class) list.next()); for (String adapter : adapterMgr.computeAdapterTypes(clazz)) { if (!result.contains(adapter)) { result.add(adapter); } } } return new ArrayList(result); }
protected Set getAdaptersForClass(Class clazz) { Set result = new HashSet(); IAdapterManager adapterManager = ECFPlugin.getDefault().getAdapterManager(); if (adapterManager != null) result.addAll(Arrays.asList(adapterManager.computeAdapterTypes(clazz))); return result; }
protected List getContributors(Object object) { // Determine is the object is a resource Object resource = LegacyResourceSupport.getAdaptedContributorResource(object); // Fetch the unique adapters List adapters = new ArrayList(Arrays.asList(Platform.getAdapterManager().computeAdapterTypes(object.getClass()))); removeCommonAdapters(adapters, Arrays.asList(new Class[] {object.getClass()})); List contributors = new ArrayList(); // Calculate the contributors for this object class addAll(contributors, getObjectContributors(object.getClass())); // Calculate the contributors for resource classes if(resource != null) { addAll(contributors, getResourceContributors(resource.getClass())); } // Calculate the contributors for each adapter type if(adapters != null) { for (Iterator it = adapters.iterator(); it.hasNext();) { String adapter = (String) it.next(); addAll(contributors, getAdaptableContributors(adapter)); } } // Remove duplicates. Note: this -must- maintain the element order to preserve menu order. contributors = removeDups(contributors); return contributors.isEmpty() ? Collections.EMPTY_LIST : new ArrayList(contributors); }
commonAdapters.addAll(Arrays.asList(Platform.getAdapterManager().computeAdapterTypes(clazz))); List result = new ArrayList(1); result.add(clazz);