KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > ui > internal > browser > DefaultWorkbenchBrowserSupport


1 /*******************************************************************************
2  * Copyright (c) 2005, 2006 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation - initial API and implementation
10  *******************************************************************************/

11 package org.eclipse.ui.internal.browser;
12
13 import java.util.Hashtable JavaDoc;
14
15 import org.eclipse.ui.PartInitException;
16 import org.eclipse.ui.browser.AbstractWorkbenchBrowserSupport;
17 import org.eclipse.ui.browser.IWebBrowser;
18
19 /**
20  * Extends the abstract browser support class by providing minimal support for
21  * external browsers. This class is used when no alternative implementation is
22  * plugged in via the 'org.eclipse.ui.browserSupport' extension point.
23  *
24  * @since 3.1
25  */

26 public class DefaultWorkbenchBrowserSupport extends
27         AbstractWorkbenchBrowserSupport {
28     private Hashtable JavaDoc browsers;
29
30     /**
31      * The default constructor.
32      */

33     public DefaultWorkbenchBrowserSupport() {
34         browsers = new Hashtable JavaDoc();
35     }
36
37     void registerBrowser(IWebBrowser browser) {
38         browsers.put(browser.getId(), browser);
39     }
40
41     void unregisterBrowser(IWebBrowser browser) {
42         browsers.remove(browser.getId());
43     }
44
45     IWebBrowser findBrowser(String JavaDoc id) {
46         return (IWebBrowser) browsers.get(id);
47     }
48
49     protected IWebBrowser doCreateBrowser(int style, String JavaDoc browserId,
50             String JavaDoc name, String JavaDoc tooltip) throws PartInitException {
51         return new DefaultWebBrowser(this, browserId);
52     }
53
54     /*
55      * (non-Javadoc)
56      *
57      * @see org.eclipse.ui.browser.IWorkbenchBrowserSupport#createBrowser(int,
58      * java.lang.String, java.lang.String, java.lang.String)
59      */

60     public IWebBrowser createBrowser(int style, String JavaDoc browserId, String JavaDoc name,
61             String JavaDoc tooltip) throws PartInitException {
62         IWebBrowser browser = findBrowser(browserId);
63         if (browser != null) {
64             return browser;
65         }
66         browser = doCreateBrowser(style, browserId, name, tooltip);
67         registerBrowser(browser);
68         return browser;
69     }
70
71     /*
72      * (non-Javadoc)
73      *
74      * @see org.eclipse.ui.browser.IWorkbenchBrowserSupport#createBrowser(java.lang.String)
75      */

76     public IWebBrowser createBrowser(String JavaDoc browserId) throws PartInitException {
77         return createBrowser(AS_EXTERNAL, browserId, null, null);
78     }
79 }
80
Popular Tags