Objectmapper: Konstante Eigenschaften definieren (let)

Erstellt am 8. Jan. 2016  ·  3Kommentare  ·  Quelle: tristanhimmelman/ObjectMapper

Hi.

Ich verwende Gson zum Mapping von Objekten in Java. Mit Gson kann ich Konstantenwerte (final) für eine bestimmte Klasse definieren, aber ich denke, es ist nicht möglich, dies mit ObjectMapper zu tun, oder?

Ich meine, kann ich mit ObjectMapper konstante Eigenschaften mit "let" definieren?

Ich denke, dass dies nicht möglich sein könnte, hat etwas mit der Sprache Swift selbst zu tun, einer Art Einschränkung, aber ich weiß nicht genau warum.

Aber es ist wirklich frustrierend, dass ich die Veränderlichkeit in meinem System in Klassen, die mit ObjectMapper abgebildet werden, nicht verhindern kann, was die Mehrheit ist!

Und übrigens, danke für diese tolle Bibliothek ;)

Hilfreichster Kommentar

Ich möchte :+1: Unterstützung für let Eigenschaften. Es gibt jedoch ein paar Workarounds:

  • Stellen Sie Ihren var Deklarationen private (set) .
  • Verwenden Sie einen Typ mit Wertsemantik (a struct ) anstelle von Referenzsemantik ( class ) und weisen Sie ihn einer Eigenschaft let . Beachten Sie, dass dies einige Nebenwirkungen hat, die wünschenswert sein können oder nicht.

Alle 3 Kommentare

Der Einfachheit halber habe ich mich dafür entschieden, vorerst keine unveränderlichen Typen in ObjectMapper zu unterstützen. Ich habe experimentellen Code im Projekt, der dies unterstützt, aber er ist nicht vollständig getestet und ich empfehle seine Verwendung im Moment nicht. Wenn Sie unveränderliche Typen benötigen, gibt es andere Projekte wie Argo, die dies unterstützen.

Ich möchte :+1: Unterstützung für let Eigenschaften. Es gibt jedoch ein paar Workarounds:

  • Stellen Sie Ihren var Deklarationen private (set) .
  • Verwenden Sie einen Typ mit Wertsemantik (a struct ) anstelle von Referenzsemantik ( class ) und weisen Sie ihn einer Eigenschaft let . Beachten Sie, dass dies einige Nebenwirkungen hat, die wünschenswert sein können oder nicht.

@frankus Ich habe gerade ein Issue für diese #383 erstellt

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen