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 Details

  • Constructor Details

    • EclipseRuntimeBuilder

      public EclipseRuntimeBuilder()
      The constructor.
  • Method Details

    • start

      public void start(org.osgi.framework.BundleContext context) throws Exception
      Specified by:
      start in interface org.osgi.framework.BundleActivator
      Overrides:
      start in class org.eclipse.ui.plugin.AbstractUIPlugin
      Throws:
      Exception
    • stop

      public void stop(org.osgi.framework.BundleContext context) throws Exception
      Specified by:
      stop in interface org.osgi.framework.BundleActivator
      Overrides:
      stop in class org.eclipse.ui.plugin.AbstractUIPlugin
      Throws:
      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 interface IRuntimeBuilder
      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 interface IRuntimeBuilder
      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 interface IRuntimeBuilder
      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 interface IRuntimeBuilder
      Returns:
      The instance of the PropertyEditorSetup.
    • getEditProperties

      public PropCnrEditorProperties getEditProperties(PropCnr property)
      Gets the property definitions.
      Specified by:
      getEditProperties in interface IRuntimeBuilder
      Parameters:
      property - The property container being edited.
      Returns:
      The PropCnrEditorProperties instance.
    • createNew

      Creates a new runtime builder property instance.
      Specified by:
      createNew in interface IRuntimeBuilder
      Parameters:
      module - The module mode.
      setup - The setup settings.
      Returns:
      The new instance.
    • getTooltipPropertyList

      public List<TooltipItem> getTooltipPropertyList()
      Gets the list of property items that should be displayed.
      Specified by:
      getTooltipPropertyList in interface ITooltipPropList
      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 Set<String> getRequiredTextIDs(RuntimeBuilderSettings settings)
      Gets the required text IDs for the text file.
      Specified by:
      getRequiredTextIDs in interface IRuntimeBuilder
      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, 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 interface IRuntimeBuilder
      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 interface IRuntimeBuilder
      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 interface IRuntimeBuilder
      Parameters:
      props - The runtime builder properties being edited.
      projectDir - The project directory.
      event - The remote event.
      Returns:
      true if processed, false if not.