Package com.iizigo.run
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 Summary
Fields Modifier and Type Field Description static java.lang.String
FILENAME
The Runtime Builder file name located under the Module root: ".iiziRun".
Method Summary
All Methods Instance Methods Abstract 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.PropCnrEditorProperties
getEditProperties(PropCnr property)
Gets the property definitions.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.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
verify(EditorRuntimeBuilderProps props, java.io.File projectDir, PropVerification verification)
Verifies this property container.Methods inherited from interface com.iizigo.prop.tooltip.ITooltipPropList
getTooltipPropertyList
Field Detail
FILENAME
static final java.lang.String FILENAME
The Runtime Builder file name located under the Module root: ".iiziRun".- See Also:
- Constant Field Values
Method Detail
createNew
EditorRuntimeBuilderProps createNew(ModuleModel module, RuntimeBuilderInitialSetup setup)
Creates a new runtime builder property instance.- Parameters:
module
- The module mode.setup
- The setup settings.- Returns:
- The new instance.
initializeRuntimeBuilder
boolean initializeRuntimeBuilder(org.eclipse.swt.widgets.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, 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.- Parameters:
props
- The runtime builder properties being edited.projectDir
- The project directory.verification
- The property verification class.
createPage
void createPage(org.eclipse.swt.widgets.Composite parent, ModuleModel module, org.eclipse.core.resources.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
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.- 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
boolean processRemoteEvent(EditorRuntimeBuilderProps props, java.io.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
java.util.Set<java.lang.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.