annotate src/de/mpg/mpiwg/itgroup/digilib/manipulator/DigilibImageManipulatorProvider.java @ 9:e63a64652f4d

added comments
author dwinter
date Mon, 03 Jan 2011 16:53:48 +0100
parents 83c58ea33792
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
1 package de.mpg.mpiwg.itgroup.digilib.manipulator;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
2
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
3 import java.util.ArrayList;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
4 import java.util.HashMap;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
5 import java.util.List;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
6
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
7 import org.eclipse.core.runtime.CoreException;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
8 import org.eclipse.core.runtime.IConfigurationElement;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
9 import org.eclipse.core.runtime.Platform;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
10
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
11
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
12
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
13
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
14 /**
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
15 * This singleton class manages the property extensions.
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
16 *
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
17 * @author Julia Damerow
9
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
18 * @author Dirk Wintergruen
1
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
19 *
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
20 */
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
21 public class DigilibImageManipulatorProvider {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
22
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
23 public static DigilibImageManipulatorProvider INSTANCE = new DigilibImageManipulatorProvider();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
24
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
25 private List<IDigilibImageManipulator> propertyExtensions;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
26 private HashMap<String,IDigilibImageManipulator> propertyExtensionsMap;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
27
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
28
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
29 private DigilibImageManipulatorProvider() {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
30 propertyExtensions = new ArrayList<IDigilibImageManipulator>();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
31 propertyExtensionsMap = new HashMap<String,IDigilibImageManipulator>();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
32
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
33 IConfigurationElement[] configs = Platform.getExtensionRegistry().getConfigurationElementsFor("de.mpg.mpiwg.itgroup.digilib.plugin","DigilibImageManipulation");
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
34 for (IConfigurationElement e : configs)
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
35 {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
36 Object o = null;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
37 try {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
38 o = e.createExecutableExtension("class");
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
39
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
40 } catch (CoreException e1) {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
41 // TODO Auto-generated catch block
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
42 e1.printStackTrace();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
43 continue;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
44 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
45 if (o != null)
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
46 {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
47 IDigilibImageManipulator dim = (IDigilibImageManipulator)o;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
48 propertyExtensions.add(dim);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
49 propertyExtensionsMap.put(dim.getKeyword(), dim);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
50 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
51 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
52 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
53
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
54 /**
9
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
55 * Get all registered <code>DigilibImageManipulation</code>s.
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
56 * @return a list with all registered <code>DigilibImageManipulation</code>s
1
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
57 */
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
58 public List<IDigilibImageManipulator> getAllManipulators()
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
59 {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
60
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
61 return propertyExtensions;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
62 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
63
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
64 public IDigilibImageManipulator getManipulator(String keyword) {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
65 return propertyExtensionsMap.get(keyword);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
66 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
67
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
68
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
69 }