org.eclipse.ease.ui.scripts.repository

## Interface IScript

All Superinterfaces:
  org.eclipse.emf.ecore.EObject, IRawLocation, org.eclipse.emf.common.notify.Notifier

    public interface IScript
    extends IRawLocation

A representation of the model object ' Script'.

The following features are supported:

- `Timestamp`
- `Entry`
- `Script Keywords`
- `User Keywords`

See Also:
  `IRepositoryPackage.getScript()`

### Method Summary

All Methods Instance Methods Abstract Methods
`IScriptLocation` `getEntry()` Returns the value of the 'Entry' container reference.
`java.util.Map<java.lang.String,java.lang.String>` `getKeywords()` Get all parameters stored for this script.
`java.lang.String` `getName()`
`IPath` `getPath()`
`org.eclipse.emf.common.util.EMap<java.lang.String,java.lang.String>` `getScriptKeywords()` Returns the value of the 'Script Keywords' map.
`java.lang.Boolean` `getSignatureState()` Gets the signature state since last update.
`long` `getTimestamp()` Returns the value of the 'Timestamp' attribute.
`ScriptType` `getType()` Get script type.
`org.eclipse.emf.common.util.EMap<java.lang.String,java.lang.String>` `getUserKeywords()` Returns the value of the 'User Keywords' map.
`boolean` `isRemote()` Verify if this is a remote script.
`IScriptEngine` `prepareEngine()` Prepare a script engine ready to run.
`void` `refreshScriptKeywords()` Parse the script source for keywords and replace cached keywords.
`IScriptEngine` `run()`
`IScriptEngine` `run(java.lang.String... parameters)` Run script with startup parameters.
`void` `setEntry(IScriptLocation value)` Sets the value of the '`Entry`' container reference.
`void` `setTimestamp(long value)` Sets the value of the '`Timestamp`' attribute.
`void` `setUserKeyword(java.lang.String keyword, java.lang.String value)`
`void` `updateSignatureState()` Update signature state using the content of file.

### Methods inherited from interface org.eclipse.ease.ui.scripts.repository.IRawLocation

`getInputStream, getLocation, getResource, isUpdatePending, setLocation, setUpdatePending`

### Methods inherited from interface org.eclipse.emf.ecore.EObject

`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

### Methods inherited from interface org.eclipse.emf.common.notify.Notifier

`eAdapters, eDeliver, eNotify, eSetDeliver`

### Method Detail

#### getTimestamp

    long getTimestamp()

Returns the value of the 'Timestamp' attribute. The default value is `"-1"`.

If the meaning of the 'Timestamp' attribute isn't clear, there really should be more of a description here...

Returns:
  the value of the 'Timestamp' attribute.
See Also:
  `setTimestamp(long)`, `IRepositoryPackage.getScript_Timestamp()`

#### setTimestamp

    void setTimestamp(long value)

Sets the value of the '`Timestamp`' attribute.

Parameters:
  `value` - the new value of the 'Timestamp' attribute.
See Also:
  `getTimestamp()`

#### getEntry

    IScriptLocation getEntry()

Returns the value of the 'Entry' container reference. It is bidirectional and its opposite is ' `Scripts`'.

If the meaning of the 'Entry' reference isn't clear, there really should be more of a description here...

Returns:
  the value of the 'Entry' container reference.
See Also:
  `setEntry(IScriptLocation)`, `IRepositoryPackage.getScript_Entry()`, `IScriptLocation.getScripts()`

#### setEntry

    void setEntry(IScriptLocation value)

Sets the value of the '`Entry`' container reference.

Parameters:
  `value` - the new value of the 'Entry' container reference.
See Also:
  `getEntry()`

#### getScriptKeywords

    org.eclipse.emf.common.util.EMap<java.lang.String,java.lang.String> getScriptKeywords()

Returns the value of the 'Script Keywords' map. The key is of type `String`, and the value is of type `String`,

If the meaning of the 'Script Keywords' map isn't clear, there really should be more of a description here...

Returns:
  the value of the 'Script Keywords' map.
See Also:
  `IRepositoryPackage.getScript_ScriptKeywords()`

#### getUserKeywords

    org.eclipse.emf.common.util.EMap<java.lang.String,java.lang.String> getUserKeywords()

Returns the value of the 'User Keywords' map. The key is of type `String`, and the value is of type `String`,

If the meaning of the 'User Keywords' map isn't clear, there really should be more of a description here...

Returns:
  the value of the 'User Keywords' map.
See Also:
  `IRepositoryPackage.getScript_UserKeywords()`

#### run

    IScriptEngine run()

#### getName

    java.lang.String getName()

#### getPath

    IPath getPath()

#### getKeywords

    java.util.Map<java.lang.String,java.lang.String> getKeywords()

Get all parameters stored for this script. Merges script parameters and user defined parameters. User parameters have higher relevance.

#### getType

    ScriptType getType()

Get script type.

#### isRemote

    boolean isRemote()

Verify if this is a remote script. Remote scripts are not stored on a local file system.

#### run

    IScriptEngine run(java.lang.String... parameters)

Run script with startup parameters.

Parameters:
  `parameters` - startup parameters passed to the script
Returns:
  script engine

#### prepareEngine

    IScriptEngine prepareEngine()

Prepare a script engine ready to run. The script is already scheduled for execution. Typically used when the launching application wants to modify engine parameters or inject variables before the launch.

Returns:
  script engine

#### refreshScriptKeywords

    void refreshScriptKeywords()

Parse the script source for keywords and replace cached keywords.

#### updateSignatureState

    void updateSignatureState()

Update signature state using the content of file.

#### getSignatureState

    java.lang.Boolean getSignatureState()

Gets the signature state since last update.

Returns:
  `true` is signature is valid or `false` if signature is invalid or `null` if signature is not present

#### setUserKeyword

    void setUserKeyword(java.lang.String keyword,
                        java.lang.String value)