Section 20.10. Early Startup


20.10. Early Startup

As discussed in Section 3.4.2, Early plug-in startup, on page 114, use the org.eclipse.ui.startup extension point to ensure that your plug-in will be started when Eclipse starts. Doing so should not be done lightly because it defeats the Eclipse lazy-loading mechanism, causing Eclipse to always load and execute your plug-in thus consuming precious memory and startup time. If you must do this, then keep your early startup plug-in small so that it takes up less memory and executes quickly when it starts.

20.10.1. Managing early startup

Eclipse does not provide a mechanism for programmatically specifying whether a plug-in should be started immediately when it is launched. If you have one or more plug-ins that may need early startup, then consider creating a small plug-in that manages early startup (see Figure 20-6). For example, if you have a large plug-in that only needs early startup if the user has enabled some functionality, then create a small early startup plug-in that determines whether that functionality has been enabled, and if so, starts the larger plug-in.

Figure 20-6. Plug-in for managing early startup of other plug-ins.


20.10.2. Disabling early startup

The user can disable early plug-in startup using the General > Startup and Shutdown preference page. If you have added an early startup extension, then your plug-in will appear in this list, and the user can disable its startup. You can detect this situation and warn the user that some of your plug-in's functionality will be compromised.

public static boolean isEarlyStartupDisabled() {    String plugins = PlatformUI.getPreferenceStore().getString(       /*        * Copy constant out of internal Eclipse interface        * IPreferenceConstants.PLUGINS_NOT_ACTIVATED_ON_STARTUP        * so that we are not accessing internal type.        */       "PLUGINS_NOT_ACTIVATED_ON_STARTUP");    return plugins.indexOf(FavortesPlugin.ID) != -1; } 




Eclipse(c) Building Commercial-Quality Plug-ins
Eclipse: Building Commercial-Quality Plug-ins (2nd Edition)
ISBN: 032142672X
EAN: 2147483647
Year: 2004
Pages: 200

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net