KickJava   Java API By Example, From Geeks To Geeks.

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


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.jdt.core.IJavaProject;
7 import org.eclipse.jface.resource.ImageDescriptor;
8 import org.eclipse.jface.viewers.IDecoration;
9 import org.eclipse.jface.viewers.ILightweightLabelDecorator;
10 import org.eclipse.jface.viewers.LabelProvider;
11
12 import org.terracotta.dso.ServerTracker;
13 import org.terracotta.dso.TcPlugin;
14
15 /**
16  * Adorns Terracotta projects that have a running server.
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.TcPlugin.hasTerracottaNature
22  * @see org.terracotta.dso.ServerTracker.isRunning
23  */

24
25 public class ServerRunningDecorator extends LabelProvider
26   implements ILightweightLabelDecorator
27 {
28   private static final ImageDescriptor
29     m_imageDesc = ImageDescriptor.createFromURL(
30         ServerRunningDecorator.class.getResource(
31           "/com/tc/admin/icons/run_co.gif"));
32
33   public static final String JavaDoc
34     DECORATOR_ID = "org.terracotta.dso.serverRunningDecorator";
35
36   public void decorate(Object JavaDoc element, IDecoration decoration) {
37     IJavaProject javaProj = (IJavaProject)element;
38
39     if(TcPlugin.getDefault().hasTerracottaNature(javaProj) &&
40        ServerTracker.getDefault().anyRunning(javaProj))
41     {
42       decoration.addOverlay(m_imageDesc);
43     }
44   }
45   
46   public static void updateDecorators() {
47     TcPlugin.getDefault().updateDecorator(DECORATOR_ID);
48   }
49 }
50
Popular Tags