Rein statische Klassen in Velocity

Eine solche Java-Klasse:

möchte man vielleicht auch in Velocity verfügbar haben. Nun funktioniert

schon mal nicht – $MyValues ist kein konkretes Objekt (und ohne eine Art Import wäre die Klasse eh nicht verfügbar). Eine Instanz möchte man aber auch nicht erzeugen:

, denn damit wäre MyValues.myString immer “Hello, you world!” (da neu initialisiert), und wer weiß, vielleicht wurde das ja mal überschrieben? Im Java-Code würde man hier ja auch nicht auf Instanzen arbeiten, sondern auf der Klasse.

Und tatsächlich kann man Velocity auch nur die Klasse übergeben, und zwar genau so, wie man es erwartet:

Im Grunde ist das nicht mal überraschend, aber ich finde das grad gut 🙂 In Velocity sieht das dann so aus:

, und das gibt immer den aktuellen Wert aus! Mit statischen Methoden funktioniert das übrigens auch – und: Ja, man könnte auch einen Singleton verwenden. Ich find’ das trotzdem gut.

Leave a Reply

Your email address will not be published.

Ich erkläre mich damit einverstanden, dass alle eingegebenen Daten und meine IP-Adresse zum Zweck der Spamvermeidung durch das Programm Akismet in den USA überprüft und gespeichert werden. Weitere Informationen zu Akismet und Widerrufsmöglichkeiten.