Java-Werttypen mit AutoValue generieren

Die in Googles Auto-Projekt untergebrachte Bibliothek AutoValue steht seit Kurzem in Version 1.0 zur Verfügung und soll Java-Entwicklern beim Implementieren von Werttypen unter die Arme greifen.

In Pocket speichern vorlesen Druckansicht
Java-Werttypen mit AutoValue generieren
Lesezeit: 1 Min.
Von
  • Julia Schmidt

Das erste Major Release der quelloffenen AutoValue-Bibliothek steht interessierten Java-Entwicklern zum Download zur Verfügung. Da das ordnungsgemäße Erstellen sicherer Werttypen wohl mit einigem Aufwand einhergeht und besonders fehleranfällig ist, soll das Tool bei diesem Schritt unterstützen. Es ist Teil des von Google auf GitHub bereitgestellten Auto-Projekts, deren Entwickler es als Sammlung von Java-Code-Generatoren beschreiben.

Programmierer sollen beim Einsatz von AutoValue den gewünschten Werttyp anhand einer abstrakten Klasse inklusive abstrakter Zugriffsmethode für jedes der angedachten Felder definieren und ihn im Anschluss mit @AutoValue auszeichnen. Während des Kompiliervorgangs wird dann ein Code Generator gestartet, der die Implementierung durchführt. Letztere enthält wohl neben Umsetzungen von hashCode, equals und toString, die Entwickler bei Bedarf anpassen können, einen Konstruktor, der Vorbedingungen prüft sowie die nötigen Getter-Methoden (keine Setter, da Werttypen unveränderlich sind).

Beim Einsatz der mit der Bibliothek generierten Konstruktoren ist unter anderem darauf zu achten, dass Parameter ihnen in genau der Reihenfolge übergeben werden, in der die Zugriffsmethoden definiert sind. In der Projektbeschreibung weisen die Entwickler auf weitere Einschränkungen und Features hin. (jul)