Schlagwort: Enum

Fun with Refactoring

Leider verhält es sich mit TODOs wie mit den Flaggen an Nord- und Südpol. Sie überdauern die Jahre und sehen hin und wieder enttäuschte Gesichter von Abenteurern, die zu spät gekommen sind.

Weiterlesen

Hin und Her mit Enums

Immer wieder kommt es vor, dass bei der Integration verschiedener Systeme von einer Enum Darstellung in eine andere konvertiert werden muss. Wer dem Fluch ausgesetzt ist, automatisch generierten Source-Code verwenden zu müssen, kennt dieses Ärgernis zur Genüge. Der Dummheit der Source-Code Generatoren gedankt, muss der Entwickler mit einer Vielzahl strukturell ähnlicher Klassen jonglieren.

Weiterlesen

Persistieren von Enums mit JPA

Die Java Enums sind für jeden Software Entwickler ein Segen, verhindern sie doch an vielen Stellen feherhafte Zuweisungen von Konstanten. Erstaunlicherweise werden sie in ihrer Natur als Konstanten nicht immer akzeptiert.

Weiterlesen

Enums für die Ewigkeit

EIn schönes Feature der Persistenz unter Java ist das automatische Speichern von Enum-Werten. Wenn nicht weiter spezifiziert, wird der Ordinalwert der Enum Konstante in der Datenbank gespeichert. In unserem Beispiel gäbe es also den Wert 0 für GROUCHO und den Wert 3 für KARL in der Datenbank. Beim Rückmapping wird der Ordinalwert verwendet um wieder zur Konstante zu gelangen. Also würde der Wert 1

Weiterlesen

Noch mehr Besucher

Im vorherigen Beitrag wurde das Visitor Pattern auf ein Enum angewendet, um das Enum nicht mit vielen Methoden zu überfrachten. Wie andere Klassen sollte ein Enum nicht gegen die Prinzipien des objektorientierten Designs verstoßen. Die vorgestellte Lösung funktioniert zwar sehr gut, aber was soll der Entwickler machen, wenn neue Klassen die Bühne betreten? Nachdem er also ein Enum AccessLevel mit einer Menge interessanter Visitor Klassen verknüpft

Weiterlesen

Zu Besuch bei den Enums

Die Enums in Java sind eine typsichere Alternative zu den früher verwendeten Konstanten. public class Test { private static final String LEVEL_ONE = „one“; private static final String LEVEL_TWO = „two“; … } Mit solchen Konstanten hat man die üblichen Probleme, dass man sie überall fehlerhafter Weise einsetzen oder anstelle der Konstanten andere Werte des Typs verwenden kann. Besser also der Einsatz von Enums,

Weiterlesen