
com.reprezen.genflow.swagger.doc.ParamDoc Maven / Gradle / Ivy
The newest version!
package com.reprezen.genflow.swagger.doc;
import com.reprezen.genflow.swagger.doc.DocHelper;
import com.reprezen.genflow.swagger.doc.ExamplesHelper;
import com.reprezen.genflow.swagger.doc.HelperHelper;
import com.reprezen.genflow.swagger.doc.HtmlHelper;
import com.reprezen.genflow.swagger.doc.SchemaHelper;
import com.reprezen.genflow.swagger.doc.StructureTable;
import io.swagger.models.Swagger;
import io.swagger.models.parameters.BodyParameter;
import io.swagger.models.parameters.Parameter;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.xbase.lib.Extension;
@SuppressWarnings("all")
public class ParamDoc {
@Extension
private SchemaHelper _schemaHelper = HelperHelper.getSchemaHelper();
@Extension
private DocHelper _docHelper = HelperHelper.getDocHelper();
@Extension
private HtmlHelper _htmlHelper = HelperHelper.getHtmlHelper();
@Extension
private ExamplesHelper _examplesHelper = HelperHelper.getExamplesHelper();
private final String name;
private final Swagger swagger = HelperHelper.getSwagger();
public ParamDoc(final Swagger swagger, final String name) {
this.name = name;
}
public CharSequence getHtml() {
CharSequence _xblockexpression = null;
{
final Parameter param = this.swagger.getParameters().get(this.name);
StringConcatenation _builder = new StringConcatenation();
_builder.append("");
_builder.newLineIfNotEmpty();
_builder.append("");
_builder.newLine();
_builder.append(" ");
_builder.append("");
_builder.newLine();
_builder.append(" ");
_builder.append("");
_builder.append(this.name, " ");
_builder.append("
");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("");
_builder.newLine();
_builder.append(" ");
_builder.append("");
_builder.newLine();
_builder.append(" ");
CharSequence _paramHtml = this.paramHtml(this.swagger.getParameters().get(this.name));
_builder.append(_paramHtml, " ");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("");
_builder.newLine();
_builder.append("");
_builder.newLine();
_xblockexpression = _builder;
}
return _xblockexpression;
}
public CharSequence paramHtml(final Parameter param) {
CharSequence _switchResult = null;
String _in = param.getIn();
if (_in != null) {
switch (_in) {
case "body":
_switchResult = this.bodyParamHtml(param);
break;
default:
_switchResult = this.nonBodyParamHtml(param);
break;
}
} else {
_switchResult = this.nonBodyParamHtml(param);
}
return _switchResult;
}
public CharSequence bodyParamHtml(final Parameter param) {
CharSequence _xblockexpression = null;
{
final BodyParameter bodyParam = ((BodyParameter) param);
StringConcatenation _builder = new StringConcatenation();
String _docHtml = this._docHelper.getDocHtml(param.getDescription());
_builder.append(_docHtml);
_builder.newLineIfNotEmpty();
CharSequence _renderSchema = this._schemaHelper.renderSchema(bodyParam.getSchema());
_builder.append(_renderSchema);
_builder.newLineIfNotEmpty();
CharSequence _renderExamples = this._examplesHelper.renderExamples(bodyParam.getExamples());
_builder.append(_renderExamples);
_builder.newLineIfNotEmpty();
_xblockexpression = _builder;
}
return _xblockexpression;
}
public String nonBodyParamHtml(final Parameter param) {
String _xblockexpression = null;
{
final StructureTable table = StructureTable.get(this.swagger, new String[] { "name", "Name" }, new String[] { "in", "In" }, new String[] { "default", "Default" },
new String[] { "type", "Type" }, new String[] { "doc", "Description" });
_xblockexpression = table.render(param, param.getName(), null);
}
return _xblockexpression;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy