All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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