intial source from ttp://www.sf.net/projects/wdte
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.js.ui / src / net / sourceforge / phpeclipse / js / ui / model / JSModelAdapterFactory.java
1 /*
2  * Copyright (c) 2004 Christopher Lenz and others
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Common Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v10.html
7  * 
8  * Contributors:
9  *     Christopher Lenz - initial implementation
10  * 
11  * $Id: JSModelAdapterFactory.java,v 1.1 2004-09-02 18:23:57 jsurfer Exp $
12  */
13
14 package net.sourceforge.phpeclipse.js.ui.model;
15
16 import net.sourceforge.phpeclipse.js.core.model.JSElement;
17 import net.sourceforge.phpeclipse.js.core.model.JSElementList;
18
19 import org.eclipse.core.runtime.IAdapterFactory;
20 import org.eclipse.core.runtime.IAdapterManager;
21 import org.eclipse.ui.model.IWorkbenchAdapter;
22
23 /**
24  * Factory that creates adapters for JavaScript model objects.
25  */
26 public class JSModelAdapterFactory implements IAdapterFactory {
27
28         // Static Methods ----------------------------------------------------------
29
30         /**
31          * Creates and registers this adapter factory with the given manager.
32          * 
33          * @param manager the adapter manager to register with
34          */
35         public static void register(IAdapterManager manager) {
36                 JSModelAdapterFactory factory = new JSModelAdapterFactory();
37                 manager.registerAdapters(factory, JSElement.class);
38                 manager.registerAdapters(factory, JSElementList.class);
39         }
40
41         // IAdapterFactory Implementation ------------------------------------------
42
43         /* 
44          * @see IAdapterFactory#getAdapter(Object, Class)
45          */
46         public Object getAdapter(Object adaptableObject, Class adapterType) {
47                 if (adapterType == IWorkbenchAdapter.class) {
48                         if ((adaptableObject instanceof JSElement)
49                          || (adaptableObject instanceof JSElementList)) {
50                                 return new JSWorkbenchAdapter();
51                         }
52                 }
53                 return null;
54         }
55
56         /* 
57          * @see IAdapterFactory#getAdapterList()
58          */
59         public Class[] getAdapterList() {
60                 return new Class[] { IWorkbenchAdapter.class };
61         }
62
63 }