001package io.avaje.http.generator.core; 002 003import io.avaje.http.generator.core.openapi.MethodDocBuilder; 004 005import javax.lang.model.element.VariableElement; 006 007public class MethodParam { 008 009 private final ElementReader elementParam; 010 011 MethodParam(VariableElement param, String rawType, ProcessingContext ctx, ParamType defaultParamType, boolean formMarker) { 012 this.elementParam = new ElementReader(param, rawType, ctx, defaultParamType, formMarker); 013 } 014 015 public void writeCtxGet(Append writer, PathSegments segments) { 016 elementParam.writeCtxGet(writer, segments); 017 } 018 019 public void addImports(ControllerReader bean) { 020 elementParam.addImports(bean); 021 } 022 023 public void writeValidate(Append writer) { 024 elementParam.writeValidate(writer); 025 } 026 027 public void buildParamName(Append writer) { 028 elementParam.writeParamName(writer); 029 } 030 031 public void buildApiDocumentation(MethodDocBuilder methodDoc) { 032 elementParam.buildApiDocumentation(methodDoc); 033 } 034 035 public boolean isBody() { 036 return elementParam.getParamType() == ParamType.BODY; 037 } 038 039 public boolean isForm() { 040 return elementParam.getParamType() == ParamType.FORM; 041 } 042 043 public String getShortType() { 044 return elementParam.getShortType(); 045 } 046 047 public String getName() { 048 return elementParam.getVarName(); 049 } 050 051}