Mercurial > hg > de.mpg.mpiwg.itgroup.digilib.plugin
view src/de/mpg/mpiwg/itgroup/digilib/manipulator/DigilibImageManipulatorProvider.java @ 1:83c58ea33792
first release (continued)
author | dwinter |
---|---|
date | Mon, 03 Jan 2011 09:11:25 +0100 |
parents | |
children | e63a64652f4d |
line wrap: on
line source
package de.mpg.mpiwg.itgroup.digilib.manipulator; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.Platform; import org.eclipse.jface.viewers.CellEditor; /** * This singleton class manages the property extensions. * * @author Julia Damerow * */ public class DigilibImageManipulatorProvider { public static DigilibImageManipulatorProvider INSTANCE = new DigilibImageManipulatorProvider(); private List<IDigilibImageManipulator> propertyExtensions; private HashMap<String,IDigilibImageManipulator> propertyExtensionsMap; private DigilibImageManipulatorProvider() { propertyExtensions = new ArrayList<IDigilibImageManipulator>(); propertyExtensionsMap = new HashMap<String,IDigilibImageManipulator>(); IConfigurationElement[] configs = Platform.getExtensionRegistry().getConfigurationElementsFor("de.mpg.mpiwg.itgroup.digilib.plugin","DigilibImageManipulation"); for (IConfigurationElement e : configs) { Object o = null; try { o = e.createExecutableExtension("class"); } catch (CoreException e1) { // TODO Auto-generated catch block e1.printStackTrace(); continue; } if (o != null) { IDigilibImageManipulator dim = (IDigilibImageManipulator)o; propertyExtensions.add(dim); propertyExtensionsMap.put(dim.getKeyword(), dim); } } } /** * Get all registered <code>FieldEditorPreferencePage</code>s. * @return a list with all registered <code>FieldEditorPreferencePage</code>s */ public List<IDigilibImageManipulator> getAllManipulators() { return propertyExtensions; } public IDigilibImageManipulator getManipulator(String keyword) { return propertyExtensionsMap.get(keyword); } }