Package com.iizigo.run.impl
Class EclipseRuntimeBuilder
java.lang.Object
org.eclipse.core.runtime.Plugin
org.eclipse.ui.plugin.AbstractUIPlugin
com.iizigo.run.impl.EclipseRuntimeBuilder
- All Implemented Interfaces:
ITooltipPropList
,IRuntimeBuilder
,org.osgi.framework.BundleActivator
public class EclipseRuntimeBuilder extends org.eclipse.ui.plugin.AbstractUIPlugin implements IRuntimeBuilder
The activator class controls the plug-in life cycle.
Field Summary
Fields inherited from class org.eclipse.core.runtime.Plugin
PLUGIN_PREFERENCE_SCOPE, PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME, PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME
Fields inherited from interface com.iizigo.run.IRuntimeBuilder
FILENAME
Constructor Summary
Method Summary
Modifier and TypeMethodDescriptionorg.eclipse.core.runtime.IStatus
buildRuntime
(org.eclipse.core.runtime.IProgressMonitor monitor, RuntimeBuilderSettings settings, IPrintAdapter printer, boolean isVerbose) Runs the job to create the iiziRun program.createNew
(ModuleModel module, RuntimeBuilderInitialSetup setup) Creates a new runtime builder property instance.void
createPage
(org.eclipse.swt.widgets.Composite parent, ModuleModel module, org.eclipse.core.resources.IFile runtimeBuilderFile, EditorRuntimeBuilderProps props, EditorRuntimeBuilderPropertyPage parentPage) Creates the property page.Gets the code modifier.getEditProperties
(PropCnr property) Gets the property definitions.static EclipseRuntimeBuilder
Returns the shared instance.Gets the Setup used for iiziGo, subclasses must override and provide their instance.getRequiredTextIDs
(RuntimeBuilderSettings settings) Gets the required text IDs for the text file.Gets the list of property items that should be displayed.boolean
initializeRuntimeBuilder
(org.eclipse.swt.widgets.Shell shell, EditorRuntimeBuilderProps props, RuntimeBuilderInitialSetup setup, EditorRuntimeBuilderPropertyPage page) Creates the initial runtime builder stuff.void
onErrors
(EditorRuntimeBuilderProps props, boolean ok) Updates for errors.boolean
processRemoteEvent
(EditorRuntimeBuilderProps props, File projectDir, RemoteEvent event) Processes a remote event from the server.void
start
(org.osgi.framework.BundleContext context) void
stop
(org.osgi.framework.BundleContext context) void
verify
(EditorRuntimeBuilderProps props, File projectDir, PropVerification verification) Verifies this property container.Methods inherited from class org.eclipse.ui.plugin.AbstractUIPlugin
createImageRegistry, getDialogSettings, getImageRegistry, getPreferenceStore, getWorkbench, imageDescriptorFromPlugin, initializeDefaultPluginPreferences, initializeDefaultPreferences, initializeImageRegistry, loadDialogSettings, loadPreferenceStore, refreshPluginActions, saveDialogSettings, savePreferenceStore, shutdown, startup
Methods inherited from class org.eclipse.core.runtime.Plugin
find, find, getBundle, getLog, getPluginPreferences, getStateLocation, internalInitializeDefaultPluginPreferences, isDebugging, openStream, openStream, savePluginPreferences, setDebugging, toString
Field Details
PLUGIN_ID
The plug-in ID: "com.iizigo.run".- See Also:
Constructor Details
EclipseRuntimeBuilder
public EclipseRuntimeBuilder()The constructor.
Method Details
start
- Specified by:
start
in interfaceorg.osgi.framework.BundleActivator
- Overrides:
start
in classorg.eclipse.ui.plugin.AbstractUIPlugin
- Throws:
Exception
stop
- Specified by:
stop
in interfaceorg.osgi.framework.BundleActivator
- Overrides:
stop
in classorg.eclipse.ui.plugin.AbstractUIPlugin
- Throws:
Exception
getInstance
Returns the shared instance.- Returns:
- The shared instance.
initializeRuntimeBuilder
public boolean initializeRuntimeBuilder(org.eclipse.swt.widgets.Shell shell, EditorRuntimeBuilderProps props, RuntimeBuilderInitialSetup setup, EditorRuntimeBuilderPropertyPage page) Creates the initial runtime builder stuff.- Specified by:
initializeRuntimeBuilder
in interfaceIRuntimeBuilder
- Parameters:
shell
- The shell.props
- The properties.setup
- The setup settings.page
- The settings page, null if not called from the page "Enable" checkbox.- Returns:
- true for success to continue.
createPage
public void createPage(org.eclipse.swt.widgets.Composite parent, ModuleModel module, org.eclipse.core.resources.IFile runtimeBuilderFile, EditorRuntimeBuilderProps props, EditorRuntimeBuilderPropertyPage parentPage) Creates the property page.- Specified by:
createPage
in interfaceIRuntimeBuilder
- Parameters:
parent
- Parent composite initialized with a grid layout of 1 column.module
- The module model.runtimeBuilderFile
- The .iiziRun file.props
- The runtime builder properties being edited.parentPage
- The parent page.
onErrors
Updates for errors.- Specified by:
onErrors
in interfaceIRuntimeBuilder
- Parameters:
props
- The properties.ok
- Flag for OK, i.e. no errors.
getPropertyEditorSetup
Gets the Setup used for iiziGo, subclasses must override and provide their instance.- Specified by:
getPropertyEditorSetup
in interfaceIRuntimeBuilder
- Returns:
- The instance of the PropertyEditorSetup.
getEditProperties
Gets the property definitions.- Specified by:
getEditProperties
in interfaceIRuntimeBuilder
- Parameters:
property
- The property container being edited.- Returns:
- The PropCnrEditorProperties instance.
createNew
Creates a new runtime builder property instance.- Specified by:
createNew
in interfaceIRuntimeBuilder
- Parameters:
module
- The module mode.setup
- The setup settings.- Returns:
- The new instance.
getTooltipPropertyList
Gets the list of property items that should be displayed.- Specified by:
getTooltipPropertyList
in interfaceITooltipPropList
- Returns:
- The list, or null for no tooltip.
getCodeModifier
Gets the code modifier.- Returns:
- The code modifier, or null for failure (it's been logged).
getRequiredTextIDs
Gets the required text IDs for the text file.- Specified by:
getRequiredTextIDs
in interfaceIRuntimeBuilder
- Parameters:
settings
- The runtime builder settings.- Returns:
- The set of text IDs, null means failed to read it from the "www/js/msg.js" file. In case
null
is returned, it has been logged in the server.
verify
Verifies this property container. The check performed is the extension of classes and that no circular reference is present.- Specified by:
verify
in interfaceIRuntimeBuilder
- Parameters:
props
- The runtime builder properties being edited.projectDir
- The project directory.verification
- The property verification class.
buildRuntime
public org.eclipse.core.runtime.IStatus buildRuntime(org.eclipse.core.runtime.IProgressMonitor monitor, RuntimeBuilderSettings settings, IPrintAdapter printer, boolean isVerbose) throws org.eclipse.core.runtime.CoreException, CancelException, BuildException, IOException, PropException Runs the job to create the iiziRun program.- Specified by:
buildRuntime
in interfaceIRuntimeBuilder
- Parameters:
monitor
- The progress monitor initialized with a job of 100 ticks.settings
- The settings.printer
- The printer for output.isVerbose
- If the job should be verbose or not.- Returns:
- The status of the job.
- Throws:
org.eclipse.core.runtime.CoreException
- For core exceptions.CancelException
- When job is canceled.BuildException
- For build exceptions.IOException
- For I/O errors.PropException
- For property errors.
processRemoteEvent
public boolean processRemoteEvent(EditorRuntimeBuilderProps props, File projectDir, RemoteEvent event) Processes a remote event from the server.- Specified by:
processRemoteEvent
in interfaceIRuntimeBuilder
- Parameters:
props
- The runtime builder properties being edited.projectDir
- The project directory.event
- The remote event.- Returns:
- true if processed, false if not.