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.String
PLUGIN_ID
The 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.IStatus
buildRuntime(org.eclipse.core.runtime.IProgressMonitor monitor, RuntimeBuilderSettings settings, IPrintAdapter printer, boolean isVerbose)
Runs the job to create the iiziRun program.EditorRuntimeBuilderProps
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.CodeModifier
getCodeModifier()
Gets the code modifier.PropCnrEditorProperties
getEditProperties(PropCnr property)
Gets the property definitions.static EclipseRuntimeBuilder
getInstance()
Returns the shared instance.PropertyEditorSetup
getPropertyEditorSetup()
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.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, java.io.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, 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:
start
in interfaceorg.osgi.framework.BundleActivator
- Overrides:
start
in classorg.eclipse.ui.plugin.AbstractUIPlugin
- Throws:
java.lang.Exception
stop
public void stop(org.osgi.framework.BundleContext context) throws java.lang.Exception
- Specified by:
stop
in interfaceorg.osgi.framework.BundleActivator
- Overrides:
stop
in 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:
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
public void onErrors(EditorRuntimeBuilderProps props, boolean ok)
Updates for errors.- Specified by:
onErrors
in 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:
getPropertyEditorSetup
in interfaceIRuntimeBuilder
- Returns:
- The instance of the PropertyEditorSetup.
getEditProperties
public PropCnrEditorProperties getEditProperties(PropCnr property)
Gets the property definitions.- Specified by:
getEditProperties
in 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:
createNew
in 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:
getTooltipPropertyList
in 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:
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
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:
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, java.io.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.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:
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.