KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > terracotta > dso > decorator > AdaptedPackageFragmentDecorator


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package org.terracotta.dso.decorator;
5
6 import org.eclipse.core.resources.IProject;
7 import org.eclipse.jdt.core.IJavaElement;
8 import org.eclipse.jface.resource.ImageDescriptor;
9 import org.eclipse.jface.viewers.IDecoration;
10 import org.eclipse.jface.viewers.ILightweightLabelDecorator;
11 import org.eclipse.jface.viewers.LabelProvider;
12 import org.terracotta.dso.ConfigurationHelper;
13 import org.terracotta.dso.TcPlugin;
14
15 /**
16  * Adorns Java types that are instrumented.
17  *
18  * The adornment appears in the Package Explorer amd Outline view.
19  *
20  * @see org.eclipse.jface.viewers.LabelProvider
21  * @see org.terracotta.dso.ConfigurationHelper.isAdaptable
22  */

23
24 public class AdaptedPackageFragmentDecorator extends LabelProvider
25   implements ILightweightLabelDecorator
26 {
27   private static final ImageDescriptor
28     m_imageDesc = ImageDescriptor.createFromURL(
29       AdaptedPackageFragmentDecorator.class.getResource(
30         "/com/tc/admin/icons/installed_ovr.gif"));
31
32   public static final String JavaDoc
33     DECORATOR_ID = "org.terracotta.dso.adaptedPackageFragmentDecorator";
34
35   public void decorate(Object JavaDoc element, IDecoration decoration) {
36     TcPlugin plugin = TcPlugin.getDefault();
37     IJavaElement pack = (IJavaElement)element;
38     IProject project = pack.getJavaProject().getProject();
39   
40     if(plugin.hasTerracottaNature(project)) {
41       ConfigurationHelper config = plugin.getConfigurationHelper(project);
42
43       if(config != null && config.isAdaptable(pack)) {
44         decoration.addOverlay(m_imageDesc);
45       }
46     }
47   }
48
49   public static void updateDecorators() {
50     TcPlugin.getDefault().updateDecorator(DECORATOR_ID);
51   }
52 }
53
Popular Tags