# Class "guigen :: ExecCommand"

Defined in package : guigen

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.

Annotations

- logicpkg

Super and Sub Types

- guigen :: Command
  - guigen :: ExecCommand

Direct Attributes ecore :: EString methodName | Direct References guigen :: CustomTemplate customTemplate ecore :: EObject extraModels guigen :: InlineCodeSnippet inlineCodeSnippets guigen :: ApplicationData postExecData guigen :: CommandOutcome results

## Attribute ecore :: EString methodName

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.

Property | Description
--- | ---
type | ecore :: EString
changeable | true
defaultValueLiteral | null
derived | false
iD | false
lowerBound | 0
name | methodName
ordered | true
transient | false
unique | true
unsettable | false
upperBound | 1
volatile | false

## Reference guigen :: CustomTemplate customTemplate

Property | Description
--- | ---
type | guigen :: CustomTemplate
changeable | true
containment | false
defaultValueLiteral | null
derived | false
lowerBound | 0
name | customTemplate
ordered | true
resolveProxies | true
transient | false
unique | true
unsettable | false
upperBound | 1
volatile | false

## Reference ecore :: EObject extraModels

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.

Property | Description
--- | ---
type | ecore :: EObject
changeable | true
containment | false
defaultValueLiteral | null
derived | false
lowerBound | 0
name | extraModels
ordered | true
resolveProxies | true
transient | false
unique | true
unsettable | false
upperBound | -1
volatile | false

## Reference guigen :: InlineCodeSnippet inlineCodeSnippets

Sono disponibili le seguenti chiavi:

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

Property | Description
--- | ---
type | guigen :: InlineCodeSnippet
changeable | true
containment | true
defaultValueLiteral | null
derived | false
lowerBound | 0
name | inlineCodeSnippets
ordered | true
resolveProxies | true
transient | false
unique | true
unsettable | false
upperBound | -1
volatile | false

## Reference guigen :: ApplicationData postExecData

Occorre dichiarare preventivamente gli application data che saranno modificati nella logica applicativa.

Property | Description
--- | ---
type | guigen :: ApplicationData
changeable | true
containment | false
defaultValueLiteral | null
derived | false
lowerBound | 0
name | postExecData
ordered | true
resolveProxies | true
transient | false
unique | true
unsettable | false
upperBound | -1
volatile | false

## Reference guigen :: CommandOutcome results

L'elenco delle possibili prosecuzioni a fronte dell'esecuzione del comando.

Property | Description
--- | ---
type | guigen :: CommandOutcome
changeable | true
containment | true
defaultValueLiteral | null
derived | false
lowerBound | 0
name | results
ordered | true
resolveProxies | true
transient | false
unique | true
unsettable | false
upperBound | -1
volatile | false

## Annotation logicpkg

Key | Value
--- | ---
pkg | cmd

generated on 5-set-2016 at 16.27.37 by metamodeldoc