Bug 10758 utilize classpath variable initializers
From JCORE: "the CLASSPATH VARIABLE INITIALIZE should be leveraged by the orgg.eclipse.jdt.launching plugin to initialize JRELIB, JRESRC etc." CLASSPATH VARIABLE INITIALIZER============================== Added extension point to jdtcore so as to allow client plugins to register classpath variable initializers. Extension point is "org.eclipse.jdt.core.classpathVariableInitializer"). (also check development resources for design notes on this topic) Note that each classpath variable, if unbound, will trigger its registered initializer exactly once per session. If unsuccessful, it will stay unbound.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/JavaPlugin.java
import org.eclipse.jdt.internal.ui.preferences.CodeFormatterPreferencePage;
import org.eclipse.jdt.internal.ui.preferences.CodeGenerationPreferencePage;
import org.eclipse.jdt.internal.ui.preferences.CompilerPreferencePage;
import org.eclipse.jdt.internal.ui.preferences.ImportOrganizePreferencePage;
import org.eclipse.jdt.internal.ui.preferences.JavaBasePreferencePage;
import org.eclipse.jdt.internal.ui.preferences.JavaBuilderPreferencePage;
import org.eclipse.jdt.internal.ui.preferences.JavaEditorPreferencePage;
import org.eclipse.jdt.internal.ui.preferences.JavadocPreferencePage;
import org.eclipse.jdt.internal.ui.preferences.RefactoringPreferencePage;
import org.eclipse.jdt.internal.ui.preferences.TemplatePreferencePage;
import org.eclipse.jdt.internal.ui.preferences.WorkInProgressPreferencePage;
import org.eclipse.jdt.internal.ui.viewsupport.ImageDescriptorRegistry;
import org.eclipse.jdt.internal.ui.viewsupport.ProblemMarkerManager;
/**
 * Represents the java plugin. It provides a series of convenience methods such as
 * access to the workbench, keeps track of elements shared by all editors and viewers
 * of the plugin such as document providers and find-replace-dialogs.
 */
public class JavaPlugin extends AbstractUIPlugin {
		
	private static JavaPlugin fgJavaPlugin;
	/*
	 * XXX: Work in progress. Might be moved to Java UI.
	 */
	public static String ID_BROWSING_PERSPECTIVE= JavaUI.ID_PLUGIN + ".JavaBrowsingPerspective";	
	public static String ID_PROJECTS_VIEW= JavaUI.ID_PLUGIN + ".ProjectsView";
	public static String ID_PACKAGES_VIEW= JavaUI.ID_PLUGIN + ".PackagesView";
	public static String ID_TYPES_VIEW= JavaUI.ID_PLUGIN + ".TypesView";
	public static String ID_MEMBERS_VIEW= JavaUI.ID_PLUGIN + ".MembersView";