it.csi.mddtools.guigen

## Interface ExecCommand

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

      public interface ExecCommand
      extends Command

  A representation of the model object 'Exec Command'. Permette di eseguire logica custom all'intenro di una catena di comandi. Al metodo specificato in methodName sar&agave; passata una struttura dati contenente:
  - i riferimenti agli ApplicationData referenziati dal ContentPanel che contiene il comando.
  - un riferimento alla sessione applicativa
  - alcune informazioni ausiliarie diepndenti dalla struttura del ContentPanel (es. Id del nodo selezionato in un tree, informazioni circa il tab su cui si è cliccato, informazioni sulla cella selezionata in una tabella)
  Nel metodo il programmatore potrà eseguire qualsiasi tipo di logica ed in particolare:
  - modificare lo stato degli application data o della sessione.
  - inserire nel contesto applicativo messaggi informativi o di errore
  - determinare la prosecuzione del flusso, selezionando uno tra i results disponibili.
  Al termine dell'esecuzione del metodo il flusso proseguirà con il comando inserito nel CommandOutcome specificato al termine della logica.

  The following features are supported:

  - `Results`
  - `Method Name`
  - `Post Exec Data`
  - `Custom Template`
  - `Extra Models`
  - `Inline Code Snippets`
  See Also:
    `GuigenPackage.getExecCommand()`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `CustomTemplate` | `getCustomTemplate()` Returns the value of the 'Custom Template' reference
    `org.eclipse.emf.common.util.EList<org.eclipse.emf.ecore.EObject>` | `getExtraModels()` Returns the value of the 'Extra Models' reference list.
    `org.eclipse.emf.common.util.EList<InlineCodeSnippet>` | `getInlineCodeSnippets()` Returns the value of the 'Inline Code Snippets' containment reference list.
    `java.lang.String` | `getMethodName()` Returns the value of the 'Method Name' attribute
    `org.eclipse.emf.common.util.EList<ApplicationData>` | `getPostExecData()` Returns the value of the 'Post Exec Data' reference list.
    `org.eclipse.emf.common.util.EList<CommandOutcome>` | `getResults()` Returns the value of the 'Results' containment reference list.
    `void` | `setCustomTemplate(CustomTemplate value)` Sets the value of the '`Custom Template`' reference
    `void` | `setMethodName(java.lang.String value)` Sets the value of the '`Method Name`' attribute

    - ### 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

    - #### getResults

          org.eclipse.emf.common.util.EList<CommandOutcome> getResults()

      Returns the value of the 'Results' containment reference list. The list contents are of type `CommandOutcome`.

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

      L'elenco delle possibili prosecuzioni a fronte dell'esecuzione del comando.
      Returns:
        the value of the 'Results' containment reference list.
      See Also:
        `GuigenPackage.getExecCommand_Results()`

    - #### getMethodName

          java.lang.String getMethodName()

      Returns the value of the 'Method Name' attribute.

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

      Nome del metodo nel quale sarà contenuta la logica effettiva. L'implementazione dipende dalla particolare cartuccia di generazione. Nel caso della cartuccia "struts2" verrà generato un metodo nello strato spring, contenente una regione protetta nel quale il programamtore dovrà inserire la logica effettiva.
      Returns:
        the value of the 'Method Name' attribute.
      See Also:
        `setMethodName(String)`, `GuigenPackage.getExecCommand_MethodName()`

    - #### setMethodName

          void setMethodName(java.lang.String value)

      Sets the value of the '`Method Name`' attribute.
      Parameters:
        `value` - the new value of the 'Method Name' attribute.
      See Also:
        `getMethodName()`

    - #### getPostExecData

          org.eclipse.emf.common.util.EList<ApplicationData> getPostExecData()

      Returns the value of the 'Post Exec Data' reference list. The list contents are of type `ApplicationData`.

      If the meaning of the 'Post Exec Data' reference list isn't clear, there really should be more of a description here...

      Occorre dichiarare preventivamente gli application data che saranno modificati nella logica applicativa.
      Returns:
        the value of the 'Post Exec Data' reference list.
      See Also:
        `GuigenPackage.getExecCommand_PostExecData()`

    - #### getCustomTemplate

          CustomTemplate getCustomTemplate()

      Returns the value of the 'Custom Template' reference.

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

      Returns:
        the value of the 'Custom Template' reference.
      See Also:
        `setCustomTemplate(CustomTemplate)`, `GuigenPackage.getExecCommand_CustomTemplate()`

    - #### setCustomTemplate

          void setCustomTemplate(CustomTemplate value)

      Sets the value of the '`Custom Template`' reference.
      Parameters:
        `value` - the new value of the 'Custom Template' reference.
      See Also:
        `getCustomTemplate()`

    - #### getExtraModels

          org.eclipse.emf.common.util.EList<org.eclipse.emf.ecore.EObject> getExtraModels()

      Returns the value of the 'Extra Models' reference list. The list contents are of type `EObject`.

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

      Eventuali modelli (porzioni di modello) aggiuntivi utilizzabili dalle varie cartucce di generazione 100% (es. modello del mapping RDB, ... modello di una interfaccia di servizio, ...) Attenzione: Questa opzione è da considerarsi una possibilità avanzata da utilizzarsi con cautela.
      Returns:
        the value of the 'Extra Models' reference list.
      See Also:
        `GuigenPackage.getExecCommand_ExtraModels()`

    - #### getInlineCodeSnippets

          org.eclipse.emf.common.util.EList<InlineCodeSnippet> getInlineCodeSnippets()

      Returns the value of the 'Inline Code Snippets' containment reference list. The list contents are of type `InlineCodeSnippet`.

      If the meaning of the 'Inline Code Snippets' containment reference list isn't clear, there really should be more of a description here...

      Sono disponibili le seguenti chiavi:

      Name | Position | Descrizione
      --- | --- | ---
      body | executedMethod | si sostituisce alla regione protetta del body del metodo associato al comando

      Returns:
        the value of the 'Inline Code Snippets' containment reference list.
      See Also:
        `GuigenPackage.getExecCommand_InlineCodeSnippets()`