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

com.reprezen.genflow.swagger.doc.ModelHelper Maven / Gradle / Ivy

package com.reprezen.genflow.swagger.doc;

import com.reprezen.genflow.swagger.doc.Helper;
import io.swagger.models.AbstractModel;
import io.swagger.models.ArrayModel;
import io.swagger.models.ComposedModel;
import io.swagger.models.Model;
import io.swagger.models.ModelImpl;
import io.swagger.models.RefModel;

@SuppressWarnings("all")
public class ModelHelper implements Helper {
  @Override
  public void init() {
  }
  
  /**
   * See comments at top of PropertyHelper - everything here is analogous
   */
  public Object getAttribute(final Model model, final String attr) {
    Object _switchResult = null;
    boolean _matched = false;
    if (!_matched) {
      if (model instanceof ModelImpl) {
        _matched=true;
        _switchResult = this.getAttribute(((ModelImpl)model), attr);
      }
    }
    if (!_matched) {
      if (model instanceof ComposedModel) {
        _matched=true;
        _switchResult = this.getAttribute(((ComposedModel)model), attr);
      }
    }
    if (!_matched) {
      if (model instanceof ArrayModel) {
        _matched=true;
        _switchResult = this.getAttribute(((ArrayModel)model), attr);
      }
    }
    if (!_matched) {
      if (model instanceof AbstractModel) {
        _matched=true;
        _switchResult = this.getAttribute(((AbstractModel)model), attr);
      }
    }
    if (!_matched) {
      if (model instanceof RefModel) {
        _matched=true;
        _switchResult = this.getAttribute(((RefModel)model), attr);
      }
    }
    return _switchResult;
  }
  
  private Object getAttribute(final ModelImpl model, final String attr) {
    Object _xblockexpression = null;
    {
      Object _switchResult = null;
      switch (attr) {
        case "additionalProperties":
          _switchResult = model.getAdditionalProperties();
          break;
        case "defaultValue":
          _switchResult = model.getDefaultValue();
          break;
        case "description":
          _switchResult = model.getDescription();
          break;
        case "discriminator":
          _switchResult = model.getDiscriminator();
          break;
        case "enum":
          _switchResult = model.getEnum();
          break;
        case "example":
          _switchResult = model.getExample();
          break;
        case "format":
          _switchResult = model.getFormat();
          break;
        case "name":
          _switchResult = model.getName();
          break;
        case "properties":
          _switchResult = model.getProperties();
          break;
        case "required":
          _switchResult = model.getRequired();
          break;
        case "type":
          _switchResult = model.getType();
          break;
        case "xml":
          _switchResult = model.getXml();
          break;
      }
      final Object value = _switchResult;
      Object _elvis = null;
      if (value != null) {
        _elvis = value;
      } else {
        Object _attribute = this.getAttribute(((AbstractModel) model), attr);
        _elvis = _attribute;
      }
      _xblockexpression = _elvis;
    }
    return _xblockexpression;
  }
  
  private Object getAttribute(final ComposedModel model, final String attr) {
    Object _xblockexpression = null;
    {
      Object _switchResult = null;
      switch (attr) {
        case "allOf":
          _switchResult = model.getAllOf();
          break;
        case "child":
          _switchResult = model.getChild();
          break;
        case "description":
          _switchResult = model.getDescription();
          break;
        case "example":
          _switchResult = model.getExample();
          break;
        case "interfaces":
          _switchResult = model.getInterfaces();
          break;
        case "parent":
          _switchResult = model.getParent();
          break;
        case "properties":
          _switchResult = model.getProperties();
          break;
        case "type":
          _switchResult = "allOf";
          break;
      }
      final Object value = _switchResult;
      Object _elvis = null;
      if (value != null) {
        _elvis = value;
      } else {
        Object _attribute = this.getAttribute(((AbstractModel) model), attr);
        _elvis = _attribute;
      }
      _xblockexpression = _elvis;
    }
    return _xblockexpression;
  }
  
  private Object getAttribute(final ArrayModel model, final String attr) {
    Object _xblockexpression = null;
    {
      Object _switchResult = null;
      switch (attr) {
        case "description":
          _switchResult = model.getDescription();
          break;
        case "example":
          _switchResult = model.getExample();
          break;
        case "items":
          _switchResult = model.getItems();
          break;
        case "properties":
          _switchResult = model.getProperties();
          break;
        case "type":
          _switchResult = model.getType();
          break;
      }
      final Object value = _switchResult;
      Object _elvis = null;
      if (value != null) {
        _elvis = value;
      } else {
        Object _attribute = this.getAttribute(((AbstractModel) model), attr);
        _elvis = _attribute;
      }
      _xblockexpression = _elvis;
    }
    return _xblockexpression;
  }
  
  private Object getAttribute(final AbstractModel model, final String attr) {
    Object _switchResult = null;
    switch (attr) {
      case "description":
        _switchResult = model.getDescription();
        break;
      case "example":
        _switchResult = model.getExample();
        break;
      case "externalDocs":
        _switchResult = model.getExternalDocs();
        break;
      case "properties":
        _switchResult = model.getProperties();
        break;
      case "title":
        _switchResult = model.getTitle();
        break;
    }
    return _switchResult;
  }
  
  private String getAttribute(final RefModel model, final String attr) {
    String _switchResult = null;
    switch (attr) {
      case "$ref":
        _switchResult = model.get$ref();
        break;
    }
    return _switchResult;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy