MENU

  /   Methode

Met een operation wordt een java methode gedefinieerd.
Het name attribuut is verplicht en geeft de naam van de methode aan. Dit is de syntax:

<?xml version="1.0" encoding="UTF-8"?>
<pattern xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://www.firstbase.nl/xsd/personaliom/pattern"
         xsi:schemaLocation="http://www.firstbase.nl/xsd/personaliom/pattern
                             http://www.firstbase.nl/xsd/personaliom/pattern.xsd">

  ...
      <operation  name=""
                  visibility=""
                  static=""
                  abstract=""
                  final=""
                  foreach="package|object|attribute|reference|
                           object.attribute|object.reference|
                           currentModelPackage.property|currentModelObject.property|
                           currentModelAttribute.property|currentModelReference.property"
                  condition=""
                  package=""
                  var0=""
                  var1=""
                  var2=""
                  var3=""
                  var4=""
                  var5="">
        <library></library>
        <apicomment></apicomment>
        <developercomment></developercomment>
        <annotation></annotation>
        <parameter name="">
          <datatype></datatype>
        </parameter>
        <exception></exception>
        <body></body>
      </operation>
  ...
</pattern>

attributen van <operation/>:

Naam Betekenis
name De naam van de java methode die gemaakt wordt. Bij de naam “constructor” genereert MetaFactory een constructor.
visibility Geeft de zichtbaarheid van de methode aan. Mogelijke waardes zijn public, protected en private. Als het leeg wordt gelaten, dan wordt er private ingevuld.
static true of false. Geeft aan of de methode static gedefinieerd moet worden of niet.
abstract true of false. Geeft aan of de methode abstract gedefinieerd moet worden of niet.
final true of false. Geeft aan of de methode final gedefinieerd moet worden of niet.
foreach Geeft aan of er geïtereerd moet worden over het model. Mogelijke waarden: package, object, attribute, reference
condition Een expression die uitkomt op true of false. Indien er true uitkomt wordt het package (pattern) ook daadwerkelijk gemaakt, maar als er false uit komt niet.
vb:

condition="${object.name}=Person"

De methode wordt in dit geval alleen gemaakt indien het huidige model object de naam Person heeft. Dit werkt alleen indien er geïtereerd wordt over alle model objecten (foreach=”object”).

package Naam van het package in het model (model.xml) wat gebruikt moet worden voor het uitvoeren van het foreach attribuut
object Naam van het object in het model (model.xml) wat gebruikt moet worden voor het uitvoeren van het foreach attribuut
var0 Waarde die je wil opslaan in de voorgedefinieerde variabele met naam var0. Naar deze waarde kan later worden gerefereerd d.m.v. ${var0}. Dit kan zowel in het pattern als in een snippet worden gebruikt.
var1 Waarde die je wil opslaan in de voorgedefinieerde variabele met naam var1. Naar deze waarde kan later worden gerefereerd d.m.v. ${var1}. Dit kan zowel in het pattern als in een snippet worden gebruikt.
var2 Waarde die je wil opslaan in de voorgedefinieerde variabele met naam var2. Naar deze waarde kan later worden gerefereerd d.m.v. ${var2}. Dit kan zowel in het pattern als in een snippet worden gebruikt.
var3 Waarde die je wil opslaan in de voorgedefinieerde variabele met naam var3. Naar deze waarde kan later worden gerefereerd d.m.v. ${var3}. Dit kan zowel in het pattern als in een snippet worden gebruikt.
var4 Waarde die je wil opslaan in de voorgedefinieerde variabele met naam var4. Naar deze waarde kan later worden gerefereerd d.m.v. ${var4}. Dit kan zowel in het pattern als in een snippet worden gebruikt.
var5 Waarde die je wil opslaan in de voorgedefinieerde variabele met naam var5. Naar deze waarde kan later worden gerefereerd d.m.v. ${var5}. Dit kan zowel in het pattern als in een snippet worden gebruikt.
skip true of false. Als true en de het menu item “Use @skip of packages” (menu Transform) is aangevinkt, dan wordt het package niet gemaakt. Deze functie is bedoeld om te voorkomen dat altijd alles opnieuw wordt gegenereerd en scheelt daarom tijd. Met deze functie kan je aan een specifiek package werken door alle skip attributen op true te zetten, behalve degene waaraan je nu werkt.

subelementen van <operation/>:

Naam Betekenis Aantal
library De waarde van library wordt als import statement toegevoegd aan de class of interface waar deze methode in zit. 0 of 1
apicomment Javadoc dat wordt toegevoegd aan deze methode. 0 of 1
developercomment Commentaar dat aan deze methode wordt toegevoegd. 0 of 1
annotation De annotation die aan deze methode wordt toegevoegd. 0 of meer
parameter Parameter van deze methode. De parameter met de naam return is gereserveerd om de return parameter te specificeren. 0 of meer
exception Exceptie die deze methode geeft. 0 of meer
body De inhoud van de methode. 0 of 1