Mibakus

Hausverwaltung für private Vermieter

Velocity

Velocity ist ein Textprozessor, mit dessen Hilfe aktuelle Daten aus dem Programm in die Vorlage eingetragen werden. Dabei können auch Textteile wiederholt werden oder abhängig von Programmdaten ausgelassen werden.

Hier finden Sie nur eine kurze Beschreibung, weitere Details können Sie auf der Velocity-Website nachlesen.

Variablen

Mit Variablen können Sie Daten aus dem Programm in den Text übernehmen. In der Vorlage verwenden Sie dazu eine Variablenbezeichnung nach einem $-Zeichen.

Die Variablenbezeichnung besteht aus zwei oder mehr Teilen, die durch einen Punkt getrennt sind. Die ersten Teile bestimmen den Zusammenhang, der letzte Teil bezeichnet das gewünschte Feld, z.B. $mieter.name. Eine Auflistung der Feldnamen in den verschiedenen unterstützten Datentypen können Sie hier einsehen.

Bedingte Abschnitte

Diese sind auf folgende Weise aufgebaut:

#if ( Bedingung1 )
Text1
#elseif ( Bedingung2 )
Text2
#else
Text3
#end

Das #elseif und #else und die darauffolgenden Texte können auch weggelassen werden. Außerdem kann alles auch zusammen in eine Zeile geschrieben werden.

Die Bedingungen sind entweder Variablennamen oder Ausdrücke. Wenn sie aus einem Variablennamen besteht, wird die Bedingung als wahr angenommen, wenn es sich um eine Boolsche Variable mit dem Wert true handelt. Bei anderen Typen wird wahr angenommen, wenn die Variable definiert ist.

In Ausdrücken kann man die Operatoren ==, !=, >, >=, <, <=, &&, || und ! benutzen sowie numerische oder String-Konstanten.

Schleifen

Eine Schleife hat folgenden Aufbau:

#foreach( $name in Liste )
    Text
#end

Liste ist eine Variable mit einer Liste von Werten, die der Variable $name der Reihe nach zugewiesen werden. Dabei wird jedesmal der innerhalb der Schleife angegebene Text ausgegeben. Der Name der Schleifenvariable kann beliebig gewählt werden.

Bedingungen und Schleifen können beliebig geschachtelt werden.

Variablen setzen

Mit #set ($name = Ausdruck) kann eine Variable definiert und mit einem Wert besetzt werden. Im Ausdruck können zusätzlich zu den Operatoren aus Bedingungen auch die Operatoren +, -, * und / benutzt werden.

Formatierungen

Velocity selber bietet keine Möglichkeit, um Werte zu formatieren, z.B. Datumsangaben. Deshalb beutzt Mibakus eine Erweiterungsmöglichkeit von Velocity für solche Formatierungen. Dazu müssen am Beginn des Texts mit #parse( "defaultMacros.vm") die Erweiterungen aktiviert werden. Danach stehen die im Folgenden nelisteten Möglichkeiten zur Verfügung. In allen Fällen ist es notwendig, dass der übergebene Datentyp zur geplanten Ausgabe passt.

Syntax Bedeutung
#betrag(Wert) Gibt Wert als Betrag mit 2 Nachkommastellen aus
#euroBetrag(Wert) Wie vor mit €-Zeichen davor
#optBetrag(Wert) Wie #betrag, wenn Wert definiert ist, sonst wird keine Ausgabe erzeugt
#datum(Wert) Formatiert ein Datum im Format DD.MM.JJJJ
#iban(Wert) Formatiert eine IBAN
#mieterName(Wert) Gibt den Mieternamen aus Vorname und Name aus (erfordert einen Kontakt als Wert)

Sonstiges

Alle Variablen und Schlüsselworte können alternativ auch als ${name} bzw. #{name} geschrieben werden. Das ist nötig, wenn keine überflüssigen Leerzeichen entstehen sollen, z.B. bei #if($wert)$wert#{else}nein#endif