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 Modifier and Type Field Description static java.lang.StringPLUGIN_IDThe plug-in ID: "com.iizigo.run".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
Constructors Constructor Description EclipseRuntimeBuilder()The constructor.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description org.eclipse.core.runtime.IStatusbuildRuntime(org.eclipse.core.runtime.IProgressMonitor monitor, RuntimeBuilderSettings settings, IPrintAdapter printer, boolean isVerbose)Runs the job to create the iiziRun program.EditorRuntimeBuilderPropscreateNew(ModuleModel module, RuntimeBuilderInitialSetup setup)Creates a new runtime builder property instance.voidcreatePage(org.eclipse.swt.widgets.Composite parent, ModuleModel module, org.eclipse.core.resources.IFile runtimeBuilderFile, EditorRuntimeBuilderProps props, EditorRuntimeBuilderPropertyPage parentPage)Creates the property page.CodeModifiergetCodeModifier()Gets the code modifier.PropCnrEditorPropertiesgetEditProperties(PropCnr property)Gets the property definitions.static EclipseRuntimeBuildergetInstance()Returns the shared instance.PropertyEditorSetupgetPropertyEditorSetup()Gets the Setup used for iiziGo, subclasses must override and provide their instance.java.util.Set<java.lang.String>getRequiredTextIDs(RuntimeBuilderSettings settings)Gets the required text IDs for the text file.java.util.List<TooltipItem>getTooltipPropertyList()Gets the list of property items that should be displayed.booleaninitializeRuntimeBuilder(org.eclipse.swt.widgets.Shell shell, EditorRuntimeBuilderProps props, RuntimeBuilderInitialSetup setup, EditorRuntimeBuilderPropertyPage page)Creates the initial runtime builder stuff.voidonErrors(EditorRuntimeBuilderProps props, boolean ok)Updates for errors.booleanprocessRemoteEvent(EditorRuntimeBuilderProps props, java.io.File projectDir, RemoteEvent event)Processes a remote event from the server.voidstart(org.osgi.framework.BundleContext context)voidstop(org.osgi.framework.BundleContext context)voidverify(EditorRuntimeBuilderProps props, java.io.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
Field Detail
PLUGIN_ID
public static final java.lang.String PLUGIN_ID
The plug-in ID: "com.iizigo.run".- See Also:
- Constant Field Values
Method Detail
start
public void start(org.osgi.framework.BundleContext context) throws java.lang.Exception- Specified by:
startin interfaceorg.osgi.framework.BundleActivator- Overrides:
startin classorg.eclipse.ui.plugin.AbstractUIPlugin- Throws:
java.lang.Exception
stop
public void stop(org.osgi.framework.BundleContext context) throws java.lang.Exception- Specified by:
stopin interfaceorg.osgi.framework.BundleActivator- Overrides:
stopin classorg.eclipse.ui.plugin.AbstractUIPlugin- Throws:
java.lang.Exception
getInstance
public static EclipseRuntimeBuilder 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:
initializeRuntimeBuilderin 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:
createPagein 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
public void onErrors(EditorRuntimeBuilderProps props, boolean ok)
Updates for errors.- Specified by:
onErrorsin interfaceIRuntimeBuilder- Parameters:
props- The properties.ok- Flag for OK, i.e. no errors.
getPropertyEditorSetup
public PropertyEditorSetup getPropertyEditorSetup()
Gets the Setup used for iiziGo, subclasses must override and provide their instance.- Specified by:
getPropertyEditorSetupin interfaceIRuntimeBuilder- Returns:
- The instance of the PropertyEditorSetup.
getEditProperties
public PropCnrEditorProperties getEditProperties(PropCnr property)
Gets the property definitions.- Specified by:
getEditPropertiesin interfaceIRuntimeBuilder- Parameters:
property- The property container being edited.- Returns:
- The PropCnrEditorProperties instance.
createNew
public EditorRuntimeBuilderProps createNew(ModuleModel module, RuntimeBuilderInitialSetup setup)
Creates a new runtime builder property instance.- Specified by:
createNewin interfaceIRuntimeBuilder- Parameters:
module- The module mode.setup- The setup settings.- Returns:
- The new instance.
getTooltipPropertyList
public java.util.List<TooltipItem> getTooltipPropertyList()
Gets the list of property items that should be displayed.- Specified by:
getTooltipPropertyListin interfaceITooltipPropList- Returns:
- The list, or null for no tooltip.
getCodeModifier
public CodeModifier getCodeModifier()
Gets the code modifier.- Returns:
- The code modifier, or null for failure (it's been logged).
getRequiredTextIDs
public java.util.Set<java.lang.String> getRequiredTextIDs(RuntimeBuilderSettings settings)
Gets the required text IDs for the text file.- Specified by:
getRequiredTextIDsin 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
nullis returned, it has been logged in the server.
verify
public void verify(EditorRuntimeBuilderProps props, java.io.File projectDir, PropVerification verification)
Verifies this property container. The check performed is the extension of classes and that no circular reference is present.- Specified by:
verifyin 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, java.io.IOException, PropExceptionRuns the job to create the iiziRun program.- Specified by:
buildRuntimein 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.java.io.IOException- For I/O errors.PropException- For property errors.
processRemoteEvent
public boolean processRemoteEvent(EditorRuntimeBuilderProps props, java.io.File projectDir, RemoteEvent event)
Processes a remote event from the server.- Specified by:
processRemoteEventin interfaceIRuntimeBuilder- Parameters:
props- The runtime builder properties being edited.projectDir- The project directory.event- The remote event.- Returns:
- true if processed, false if not.