{"id":675,"date":"2010-05-28T23:26:51","date_gmt":"2010-05-28T21:26:51","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/2010\/05\/private-final-ist-doof-bei-jaxb\/"},"modified":"2013-09-12T13:57:07","modified_gmt":"2013-09-12T11:57:07","slug":"private-final-ist-doof-bei-jaxb","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2010\/05\/private-final-ist-doof-bei-jaxb\/","title":{"rendered":"private final ist doof bei JAXB"},"content":{"rendered":"<p>Eclipse kann beim Speichern Aktionen ausf\u00fchren. So<\/p>\n<ul>\n<li>r\u00e4umt es automatisch die import-Anweisungen auf,<\/li>\n<li>entfernt Wei\u00dfraum am Ende einer Zeile,<\/li>\n<li>setzt @Overide an \u00fcberschriebenen Methoden<\/li>\n<li>\u2026<\/li>\n<\/ul>\n<p>Zum Testen habe ich heute morgen eine Einstellung gesetzt, die mir Attribute, die final gemacht werden k\u00f6nnen, auch final macht. Fand ich nett.<\/p>\n<p>Doch dann kam der Abend. Pl\u00f6tzlich initialisierte meine App keine JAXB Beans mehr ein. Es kostete mich 10 Minuten herauszufinden, dass diese bl\u00f6de Einstellung das Problem verursacht. Denn wenn statt<\/p>\n<pre>@XmlRootElement( name = \"course\" ) \r\n@XmlAccessorType( XmlAccessType.FIELD ) \r\npublic class Course \r\n{ \r\n<strong>\u00a0 private String htmlkeywords = \"\"; \r\n\u00a0 private String htmlhead = \"\"; <\/strong><\/pre>\n<p>steht<\/p>\n<pre>\u2026 \r\npublic class Course \r\n{ \r\n\u00a0 private <strong>final <\/strong>String htmlkeywords = \"\"; \r\n\u00a0 private <strong>final <\/strong>String htmlhead = \"\";<\/pre>\n<p>dann wird JAXB die finalen Variablen nat\u00fcrlich nicht mehr initialisieren k\u00f6nnen. Meine Beans werden nur gelesen, sodass kein Setter die Variablen ver\u00e4ndert \u2013 die Beans sind immutable. Die Eclipse Save Einstellung das final magisch dranzusetzen passt dazu nicht.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eclipse kann beim Speichern Aktionen ausf\u00fchren. So r\u00e4umt es automatisch die import-Anweisungen auf, entfernt Wei\u00dfraum am Ende einer Zeile, setzt @Overide an \u00fcberschriebenen Methoden \u2026 Zum Testen habe ich heute morgen eine Einstellung gesetzt, die mir Attribute, die final gemacht werden k\u00f6nnen, auch final macht. Fand ich nett. Doch dann kam der Abend. Pl\u00f6tzlich initialisierte [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[7],"tags":[8],"class_list":["post-675","post","type-post","status-publish","format-standard","hentry","category-entwicklungsumgebung","tag-eclipse"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=675"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/675\/revisions"}],"predecessor-version":[{"id":2321,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/675\/revisions\/2321"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}