Interface IRuntimeBuilder

All Superinterfaces:
ITooltipPropList
All Known Implementing Classes:
EclipseRuntimeBuilder

public interface IRuntimeBuilder extends ITooltipPropList
The runtime creation builder interface implemented by the runtime builder plugin.
Author:
Christopher Mindus
  • Field Details

    • FILENAME

      static final String FILENAME
      The Runtime Builder file name located under the Module root: ".iiziRun".
      See Also:
  • Method Details

    • createNew

      Creates a new runtime builder property instance.
      Parameters:
      module - The module mode.
      setup - The setup settings.
      Returns:
      The new instance.
    • initializeRuntimeBuilder

      boolean initializeRuntimeBuilder(Shell shell, EditorRuntimeBuilderProps props, RuntimeBuilderInitialSetup setup, EditorRuntimeBuilderPropertyPage page)
      Creates the initial runtime builder stuff.
      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.
    • verify

      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.
      Parameters:
      props - The runtime builder properties being edited.
      projectDir - The project directory.
      verification - The property verification class.
    • createPage

      void createPage(Composite parent, ModuleModel module, IFile runtimeBuilderFile, EditorRuntimeBuilderProps props, EditorRuntimeBuilderPropertyPage parentPage)
      Creates the property page.
      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 - Parent page.
    • getPropertyEditorSetup

      PropertyEditorSetup getPropertyEditorSetup()
      Gets the Setup used for iiziGo, subclasses must override and provide their instance.
      Returns:
      The instance of the PropertyEditorSetup.
    • getEditProperties

      PropCnrEditorProperties getEditProperties(PropCnr property)
      Gets the property definitions.
      Parameters:
      property - The property container being edited.
      Returns:
      The PropCnrEditorProperties instance.
    • onErrors

      void onErrors(EditorRuntimeBuilderProps props, boolean ok)
      Updates for errors.
      Parameters:
      props - The properties.
      ok - Flag for OK, i.e. no errors.
    • buildRuntime

      IStatus buildRuntime(IProgressMonitor monitor, RuntimeBuilderSettings settings, IPrintAdapter printer, boolean isVerbose) throws CoreException, CancelException, BuildException, IOException, PropException
      Runs the job to create the iiziRun program.
      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:
      CoreException - For core exceptions.
      CancelException - When job is canceled.
      BuildException - For build exceptions.
      IOException - For I/O errors.
      PropException - For property errors.
    • processRemoteEvent

      boolean processRemoteEvent(EditorRuntimeBuilderProps props, File projectDir, RemoteEvent event)
      Processes a remote event from the server.
      Parameters:
      props - The runtime builder properties being edited.
      projectDir - The project directory.
      event - The remote event.
      Returns:
      true if processed, false if not.
    • getRequiredTextIDs

      Set<String> getRequiredTextIDs(RuntimeBuilderSettings settings)
      Gets the required text IDs for the text file.
      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.