+ "full": "<span class=\"keyword\">package</span> acme;\n\n<span class=\"keyword\">import</span> jakarta.validation.constraints.*;\n\n<span class=\"comment\">/** GENERATED — wire DTO for Subscriber. Do not hand-edit; regenerated from metadata. */</span>\n<span class=\"keyword\">public</span> <span class=\"keyword\">record</span> <span class=\"key\">SubscriberDto</span><span class=\"key\">(\n Long id,\n @NotNull @Size(min = 1, max = 320)</span> String email,\n String name,\n <span class=\"comment\">@NotNull</span> SubscriberStatus status,\n java.time.Instant createdAt\n) {\n <span class=\"keyword\">public</span> <span class=\"keyword\">enum</span> <span class=\"key\">SubscriberStatus</span> { active, paused, cancelled }\n\n <span class=\"comment\">/** Issue #203 <span>@autoSet</span>: a copy with every <span>@autoSet</span> column (onCreate AND onUpdate) stamped to now() on insert (the model value is ignored; a fresh row's updated_at equals its created_at). */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">stampForInsert</span><span class=\"key\">(SubscriberDto dto)</span> {\n java.time.<span class=\"keyword\">Instant</span> <span class=\"key\">__nowInstant</span> <span>=</span> java.time.Instant.now();\n <span class=\"keyword\">return</span> <span class=\"keyword\">new</span> <span class=\"key\">SubscriberDto</span>(\n dto.id(),\n dto.email(),\n dto.name(),\n dto.status(),\n __nowInstant\n );\n }\n\n <span class=\"comment\">/** Issue #203 <span>@autoSet</span>: a copy with <span>@autoSet</span> onUpdate columns stamped to now(); onCreate columns are preserved (never rewrites created_at — the full-DTO update path). */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">stampForUpdate</span><span class=\"key\">(SubscriberDto dto)</span> {\n <span class=\"keyword\">return</span> <span class=\"keyword\">new</span> <span class=\"key\">SubscriberDto</span>(\n dto.id(),\n dto.email(),\n dto.name(),\n dto.status(),\n dto.createdAt()\n );\n }\n\n <span class=\"comment\">/** Issue #203 <span>@autoSet</span> escape hatch: the DTO written VERBATIM (import/restore/replication). */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">insertPreserving</span><span class=\"key\">(SubscriberDto dto)</span> { <span class=\"keyword\">return</span> dto; }\n\n <span class=\"comment\">/** A fluent builder, so a caller can set a subset of the components. */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">Builder</span> <span class=\"key\">builder</span><span class=\"key\">()</span> { <span class=\"keyword\">return</span> <span class=\"keyword\">new</span> <span class=\"key\">Builder</span>(); }\n\n <span class=\"comment\">/** Builds a {<span>@link</span> SubscriberDto}; an unset component stays null. */</span>\n <span class=\"keyword\">public</span> <span class=\"keyword\">static</span> <span class=\"keyword\">final</span> <span class=\"keyword\">class</span> <span class=\"key\">Builder</span> {\n <span class=\"keyword\">private</span> Long id;\n <span class=\"keyword\">private</span> String email;\n <span class=\"keyword\">private</span> String name;\n <span class=\"keyword\">private</span> SubscriberStatus status;\n <span class=\"keyword\">private</span> java.time.Instant createdAt;\n\n <span class=\"keyword\">private</span> <span class=\"key\">Builder</span><span class=\"key\">()</span> {}\n\n <span class=\"keyword\">public</span> <span class=\"keyword\">Builder</span> <span class=\"key\">id</span><span class=\"key\">(Long v)</span> { <span class=\"keyword\">this</span>.id = v; <span class=\"keyword\">return</span> <span class=\"keyword\">this</span>; }\n <span class=\"keyword\">public</span> <span class=\"keyword\">Builder</span> <span class=\"key\">email</span><span class=\"key\">(String v)</span> { <span class=\"keyword\">this</span>.email = v; <span class=\"keyword\">return</span> <span class=\"keyword\">this</span>; }\n <span class=\"keyword\">public</span> <span class=\"keyword\">Builder</span> <span class=\"key\">name</span><span class=\"key\">(String v)</span> { <span class=\"keyword\">this</span>.name = v; <span class=\"keyword\">return</span> <span class=\"keyword\">this</span>; }\n <span class=\"keyword\">public</span> <span class=\"keyword\">Builder</span> <span class=\"key\">status</span><span class=\"key\">(SubscriberStatus v)</span> { <span class=\"keyword\">this</span>.status = v; <span class=\"keyword\">return</span> <span class=\"keyword\">this</span>; }\n <span class=\"keyword\">public</span> <span class=\"keyword\">Builder</span> <span class=\"key\">createdAt</span><span class=\"key\">(java.time.Instant v)</span> { <span class=\"keyword\">this</span>.createdAt = v; <span class=\"keyword\">return</span> <span class=\"keyword\">this</span>; }\n\n <span class=\"keyword\">public</span> <span class=\"keyword\">SubscriberDto</span> <span class=\"key\">build</span><span class=\"key\">()</span> { <span class=\"keyword\">return</span> <span class=\"keyword\">new</span> <span class=\"key\">SubscriberDto</span>(id, email, name, status, createdAt); }\n }\n}\n",
0 commit comments