final class MultipartPopulatorGenerator extends Object
Modifier and Type | Method and Description |
---|---|
(package private) static String |
generate(org.jboss.jandex.ClassInfo multipartClassInfo,
io.quarkus.gizmo.ClassOutput classOutput,
org.jboss.jandex.IndexView index)
Generates a class that populates a Pojo that is used as a @MultipartForm parameter in a resource method.
|
static String generate(org.jboss.jandex.ClassInfo multipartClassInfo, io.quarkus.gizmo.ClassOutput classOutput, org.jboss.jandex.IndexView index)
__quarkus_rest_inject
method of the class
(which is added by MultipartTransformer
).
For example for a pojo like:
public class FormData { @RestForm @PartType(MediaType.TEXT_PLAIN) private String foo; @RestForm @PartType(MediaType.APPLICATION_JSON) public Mapmap; @RestForm @PartType(MediaType.APPLICATION_JSON) public Person person; @RestForm @PartType(MediaType.TEXT_PLAIN) private Status status; @RestForm("htmlFile") private FileUpload htmlPart; @RestForm("htmlFile") public Path xmlPart; @RestForm public File txtFile; public String getFoo() { return foo; } public void setFoo(String foo) { this.foo = foo; } public Status getStatus() { return status; } public void setStatus(Status status) { this.status = status; } public FileUpload getHtmlPart() { return htmlPart; } public void setHtmlPart(FileUpload htmlPart) { this.htmlPart = htmlPart; } }
the generated populator would look like:
public class FormData_generated_populator { private static Class map_type; private static Type map_genericType; private static MediaType map_mediaType; private static Class person_type; private static Type person_genericType; private static MediaType person_mediaType; private static Class status_type; private static Type status_genericType; private static MediaType status_mediaType; static { map_type = DeploymentUtils.loadClass("java.util.Map"); map_genericType = TypeSignatureParser.parse("Ljava/util/Map;"); map_mediaType = MediaType.valueOf("application/json"); Class var0 = DeploymentUtils.loadClass("org.acme.getting.started.Person"); person_type = var0; person_genericType = var0; person_mediaType = MediaType.valueOf("application/json"); Class var1 = DeploymentUtils.loadClass("org.acme.getting.started.Status"); status_type = var1; status_genericType = var1; status_mediaType = MediaType.valueOf("text/plain"); } public static void populate(FormData var0, ResteasyReactiveInjectionContext var1) { ResteasyReactiveRequestContext var3 = (ResteasyReactiveRequestContext) var1; ServerHttpRequest var5 = var3.serverRequest(); String var2 = var5.getFormAttribute("foo"); var0.setFoo((String) var2); QuarkusFileUpload var4 = MultipartSupport.getFileUpload("htmlFile", var3); var0.setHtmlPart((FileUpload) var4); String var6 = var5.getFormAttribute("map"); Class var7 = map_type; Type var8 = map_genericType; MediaType var9 = map_mediaType; Object var10 = MultipartSupport.convertFormAttribute(var6, var7, var8, var9, var3); var0.map = (Map) var10; String var11 = var5.getFormAttribute("person"); Class var12 = person_type; Type var13 = person_genericType; MediaType var14 = person_mediaType; Object var15 = MultipartSupport.convertFormAttribute(var11, var12, var13, var14, var3); var0.person = (Person) var15; String var16 = var5.getFormAttribute("status"); Class var17 = status_type; Type var18 = status_genericType; MediaType var19 = status_mediaType; Object var20 = MultipartSupport.convertFormAttribute(var16, var17, var18, var19, var3); var0.setStatus((Status) var20); QuarkusFileUpload var21 = MultipartSupport.getFileUpload("txtFile", var3); File var22; if (var21 != null) { var22 = var21.uploadedFile().toFile(); } else { var22 = null; } var0.txtFile = (File) var22; QuarkusFileUpload var23 = MultipartSupport.getFileUpload("htmlFile", var3); Path var24; if (var23 != null) { var24 = var23.uploadedFile(); } else { var24 = null; } var0.xmlPart = (Path) var24; } }
Copyright © 2021 JBoss by Red Hat. All rights reserved.