Aller au contenu principal

Modèles

Les modèles sont les éléments qui existent au travers de l'exécution d'un programme, dépassant la durée de vie des traitements. Ils permettent notamment l'interaction avec l'extérieur d'un programme. Les modèles peuvent être définis et configurés, puis instanciés dans les déclarations de traitements.

Définition

Un modèle se définit en utilisant un modèle de base, et des paramètres.

model MyDatabase(const max: u32 = 5) : SqlPool
{
min_connections = 1
max_connections = max
url = "postgresql://my-user@my-server:4321/my_database"
}

Héritage

Un modèle étant défini sur un modèle de base, il en hérite des caractéristiques, et tout traitement requérant un modèle du type de base peut accepter n'importe que modèle défini sur celui-ci.

treatment myApp()
model database: MyDatabase(max=3)
{
userData[database=database]()

/* … */
}

treatment userData[database: SqlPool]()
{
/* … */
}