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

com.reprezen.genflow.rapidml.doc.xtend.XGenerateInterfaces Maven / Gradle / Ivy

There is a newer version: 1.4.2
Show newest version
/**
 * Copyright © 2013, 2016 Modelsolv, Inc.
 * All Rights Reserved.
 * 
 * NOTICE: All information contained herein is, and remains the property
 * of ModelSolv, Inc. See the file license.html in the root directory of
 * this project for further information.
 */
package com.reprezen.genflow.rapidml.doc.xtend;

import com.google.common.base.Objects;
import com.google.common.base.Optional;
import com.reprezen.genflow.api.zenmodel.util.CommonServices;
import com.reprezen.genflow.common.doc.XDocHelper;
import com.reprezen.genflow.common.services.DocServices;
import com.reprezen.genflow.common.xtend.XDataTypeExtensions;
import com.reprezen.genflow.common.xtend.XImportHelper;
import com.reprezen.genflow.common.xtend.XParameterHelper;
import com.reprezen.rapidml.AuthenticationMethod;
import com.reprezen.rapidml.AuthenticationTypes;
import com.reprezen.rapidml.CollectionParameter;
import com.reprezen.rapidml.CollectionRealizationEnum;
import com.reprezen.rapidml.CollectionResource;
import com.reprezen.rapidml.Constraint;
import com.reprezen.rapidml.Enumeration;
import com.reprezen.rapidml.Feature;
import com.reprezen.rapidml.HTTPMethods;
import com.reprezen.rapidml.HasSecurityValue;
import com.reprezen.rapidml.MediaType;
import com.reprezen.rapidml.MessageParameter;
import com.reprezen.rapidml.Method;
import com.reprezen.rapidml.NamedLinkDescriptor;
import com.reprezen.rapidml.ObjectRealization;
import com.reprezen.rapidml.Parameter;
import com.reprezen.rapidml.PrimitiveProperty;
import com.reprezen.rapidml.PropertyRealization;
import com.reprezen.rapidml.RealizationContainer;
import com.reprezen.rapidml.ReferenceElement;
import com.reprezen.rapidml.ReferenceEmbed;
import com.reprezen.rapidml.ReferenceLink;
import com.reprezen.rapidml.ReferenceProperty;
import com.reprezen.rapidml.ReferenceTreatment;
import com.reprezen.rapidml.ResourceAPI;
import com.reprezen.rapidml.ResourceDefinition;
import com.reprezen.rapidml.SecurityScheme;
import com.reprezen.rapidml.SecurityScope;
import com.reprezen.rapidml.ServiceDataResource;
import com.reprezen.rapidml.SingleValueType;
import com.reprezen.rapidml.SourceReference;
import com.reprezen.rapidml.Structure;
import com.reprezen.rapidml.TypedMessage;
import com.reprezen.rapidml.TypedRequest;
import com.reprezen.rapidml.TypedResponse;
import com.reprezen.rapidml.URI;
import com.reprezen.rapidml.URIParameter;
import com.reprezen.rapidml.UserDefinedType;
import com.reprezen.rapidml.ZenModel;
import com.reprezen.rapidml.realization.processor.CycleDetector;
import com.reprezen.rapidml.util.InheritanceUtils;
import com.reprezen.rapidml.util.TagUtils;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.ListExtensions;

@SuppressWarnings("all")
public class XGenerateInterfaces {
  @Extension
  private XDocHelper docHelper;
  
  private final XParameterHelper parameterHelper = new XParameterHelper();
  
  private final DocServices docServices = new DocServices();
  
  private final CommonServices commonServices = new CommonServices();
  
  private final XImportHelper importHelper;
  
  private boolean isLiveView = false;
  
  public XGenerateInterfaces(final XImportHelper importHelper, final XDocHelper docHelper) {
    this.importHelper = importHelper;
    this.docHelper = docHelper;
  }
  
  public CharSequence generateInterfaces(final ZenModel zenModel) {
    StringConcatenation _builder = new StringConcatenation();
    {
      EList _resourceAPIs = zenModel.getResourceAPIs();
      for(final ResourceAPI iface : _resourceAPIs) {
        CharSequence _generateInterface = this.generateInterface(iface, zenModel);
        _builder.append(_generateInterface, "");
        _builder.newLineIfNotEmpty();
      }
    }
    return _builder;
  }
  
  private CharSequence generateInterface(final ResourceAPI resourceAPI, final ZenModel zenModel) {
    CharSequence _xblockexpression = null;
    {
      final String alias = this.importHelper.getAlias(resourceAPI);
      String _xifexpression = null;
      if ((alias != null)) {
        StringConcatenation _builder = new StringConcatenation();
        _builder.append(" ");
        _builder.append("[as ");
        _builder.append(alias, " ");
        _builder.append("]");
        _xifexpression = _builder.toString();
      }
      final String aliasNote = _xifexpression;
      StringConcatenation _builder_1 = new StringConcatenation();
      _builder_1.append("");
      _builder_1.newLine();
      _builder_1.append("
"); _builder_1.newLineIfNotEmpty(); _builder_1.append(" "); _builder_1.append("
"); _builder_1.newLine(); _builder_1.append(" "); _builder_1.append("

"); String _nameOrTitle = this.docHelper.nameOrTitle(resourceAPI); _builder_1.append(_nameOrTitle, " "); _builder_1.append(" ("); String _baseURI = resourceAPI.getBaseURI(); _builder_1.append(_baseURI, " "); _builder_1.append(")

"); _builder_1.newLineIfNotEmpty(); _builder_1.append(" "); _builder_1.append("

"); String _modelFullQualifiedName = this.importHelper.getModelFullQualifiedName(resourceAPI); _builder_1.append(_modelFullQualifiedName, " "); _builder_1.append(aliasNote, " "); _builder_1.append("

"); _builder_1.newLineIfNotEmpty(); _builder_1.append(" "); _builder_1.append("
"); _builder_1.newLine(); _builder_1.append(" "); _builder_1.append("
"); _builder_1.newLine(); _builder_1.append(" "); CharSequence _generateDocItem = this.docHelper.generateDocItem(resourceAPI); _builder_1.append(_generateDocItem, " "); _builder_1.newLineIfNotEmpty(); _builder_1.append(" "); CharSequence _generateSecuritySchemeUsage = this.generateSecuritySchemeUsage(resourceAPI); _builder_1.append(_generateSecuritySchemeUsage, " "); _builder_1.newLineIfNotEmpty(); { EList _ownedResourceDefinitions = resourceAPI.getOwnedResourceDefinitions(); for(final ResourceDefinition resource : _ownedResourceDefinitions) { _builder_1.append(" "); CharSequence _generateResource = this.generateResource(((ServiceDataResource) resource)); _builder_1.append(_generateResource, " "); _builder_1.newLineIfNotEmpty(); } } _builder_1.append(" "); _builder_1.append("
"); _builder_1.newLine(); _builder_1.append("
"); _builder_1.newLine(); _xblockexpression = _builder_1; } return _xblockexpression; } private CharSequence generateResource(final ServiceDataResource resource) { StringConcatenation _builder = new StringConcatenation(); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append("
"); _builder.newLine(); _builder.append(" "); _builder.append("
"); _builder.newLine(); _builder.append(" "); _builder.append("

"); _builder.newLine(); { if ((resource instanceof CollectionResource)) { _builder.append(" "); _builder.append(""); _builder.newLine(); } else { _builder.append(" "); _builder.append(""); _builder.newLine(); } } _builder.append(" "); String _name_1 = resource.getName(); _builder.append(_name_1, " "); _builder.append(" "); URI _uRI = resource.getURI(); _builder.append(_uRI, " "); _builder.append(" "); _builder.newLineIfNotEmpty(); { Structure _dataType = resource.getDataType(); boolean _tripleNotEquals = (_dataType != null); if (_tripleNotEquals) { _builder.append(" "); _builder.append(" "); Structure _dataType_1 = resource.getDataType(); String _qualifiedName = this.importHelper.getQualifiedName(_dataType_1); _builder.append(_qualifiedName, " "); _builder.append(""); _builder.newLineIfNotEmpty(); } } { boolean _isDefault = resource.isDefault(); if (_isDefault) { _builder.append(" "); _builder.append("Default"); _builder.newLine(); } } _builder.append(" "); _builder.append("

"); _builder.newLine(); _builder.append(" "); _builder.append("
"); _builder.newLine(); _builder.append(" "); _builder.append("
"); _builder.newLine(); _builder.append(" "); CharSequence _generateDocItem = this.docHelper.generateDocItem(resource); _builder.append(_generateDocItem, " "); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append("

Resource Properties

"); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); EList _mediaTypes = resource.getMediaTypes(); CharSequence _generateMediaTypes = this.generateMediaTypes(_mediaTypes); _builder.append(_generateMediaTypes, " "); _builder.newLineIfNotEmpty(); _builder.append(" "); CharSequence _generateLinkDescriptors = this.generateLinkDescriptors(resource); _builder.append(_generateLinkDescriptors, " "); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append("
"); _builder.newLine(); _builder.append(" "); _builder.newLine(); _builder.append(" "); CharSequence _generateSecuritySchemeUsage = this.generateSecuritySchemeUsage(resource); _builder.append(_generateSecuritySchemeUsage, " "); _builder.newLineIfNotEmpty(); _builder.newLine(); { boolean _and = false; URI _uRI_1 = resource.getURI(); boolean _tripleNotEquals_1 = (_uRI_1 != null); if (!_tripleNotEquals_1) { _and = false; } else { URI _uRI_2 = resource.getURI(); EList _uriParameters = _uRI_2.getUriParameters(); boolean _isEmpty = _uriParameters.isEmpty(); boolean _not = (!_isEmpty); _and = _not; } if (_and) { _builder.append(" "); _builder.append("

Parameters

"); _builder.newLine(); _builder.append(" "); URI _uRI_3 = resource.getURI(); EList _uriParameters_1 = _uRI_3.getUriParameters(); CharSequence _generateParams = this.generateParams(_uriParameters_1); _builder.append(_generateParams, " "); _builder.newLineIfNotEmpty(); } } _builder.newLine(); { if ((resource instanceof CollectionResource)) { _builder.append(" "); _builder.newLine(); { EList _collectionParameters = ((CollectionResource) resource).getCollectionParameters(); boolean _isEmpty_1 = _collectionParameters.isEmpty(); boolean _not_1 = (!_isEmpty_1); if (_not_1) { _builder.append(" "); _builder.append(" "); _builder.append("

Collection Parameters

"); _builder.newLine(); _builder.append(" "); _builder.append(" "); EList _collectionParameters_1 = ((CollectionResource) resource).getCollectionParameters(); CharSequence _generateParams_1 = this.generateParams(_collectionParameters_1); _builder.append(_generateParams_1, " "); _builder.newLineIfNotEmpty(); } } _builder.append(" "); _builder.append(" "); _builder.newLine(); { CollectionRealizationEnum _resourceRealizationKind = ((CollectionResource) resource).getResourceRealizationKind(); boolean _equals = Objects.equal(_resourceRealizationKind, CollectionRealizationEnum.REFERENCE_LINK_LIST); if (_equals) { _builder.append(" "); _builder.append(" "); _builder.append("

Data Properties

"); _builder.newLine(); _builder.append(" "); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(" "); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(" "); _builder.append(" "); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(" "); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(" "); _builder.append(" "); _builder.append(""); _builder.newLine(); { NamedLinkDescriptor _defaultLinkDescriptor = defResource.getDefaultLinkDescriptor(); boolean _tripleNotEquals_2 = (_defaultLinkDescriptor != null); if (_tripleNotEquals_2) { { NamedLinkDescriptor _defaultLinkDescriptor_1 = defResource.getDefaultLinkDescriptor(); EList _allIncludedProperties = _defaultLinkDescriptor_1.getAllIncludedProperties(); final Function1 _function = (PropertyRealization it) -> { return it.getBaseProperty(); }; List _map = ListExtensions.map(_allIncludedProperties, _function); for(final Feature feature : _map) { _builder.append(" "); _builder.append(" "); _builder.append(" "); CharSequence _generateReferenceTreatmentPropertyRow = this.generateReferenceTreatmentPropertyRow(feature, Integer.valueOf(1), false); _builder.append(_generateReferenceTreatmentPropertyRow, " "); _builder.newLineIfNotEmpty(); } } } } _builder.append(" "); _builder.append(" "); _builder.append("
"); Structure _dataType_2 = ((CollectionResource)resource).getDataType(); String _name_2 = _dataType_2.getName(); _builder.append(_name_2, " "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(" "); _builder.append(" "); EList _referenceLinks = ((CollectionResource)resource).getReferenceLinks(); ReferenceLink _get = _referenceLinks.get(0); ResourceDefinition _targetResource = _get.getTargetResource(); final ServiceDataResource defResource = ((ServiceDataResource) _targetResource); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(" "); _builder.append(" "); _builder.append(""); String _name_3 = defResource.getName(); _builder.append(_name_3, " "); _builder.append("*"); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(" "); _builder.append(" "); _builder.append("
"); _builder.newLine(); } else { _builder.append(" "); _builder.append(" "); CharSequence _generateResourceDataType = this.generateResourceDataType(resource); _builder.append(_generateResourceDataType, " "); _builder.newLineIfNotEmpty(); } } } else { _builder.append(" "); CharSequence _generateResourceDataType_1 = this.generateResourceDataType(resource); _builder.append(_generateResourceDataType_1, " "); _builder.newLineIfNotEmpty(); } } _builder.newLine(); { EList _methods = resource.getMethods(); for(final Method method : _methods) { _builder.append(" "); CharSequence _generateMethod = this.generateMethod(method); _builder.append(_generateMethod, " "); _builder.newLineIfNotEmpty(); } } _builder.append(" "); _builder.append("
"); _builder.newLine(); _builder.append("
"); _builder.newLine(); return _builder; } private CharSequence generateLinkDescriptors(final ServiceDataResource resource) { StringConcatenation _builder = new StringConcatenation(); { EList _definedLinkDescriptors = resource.getDefinedLinkDescriptors(); boolean _isEmpty = _definedLinkDescriptors.isEmpty(); boolean _not = (!_isEmpty); if (_not) { _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append("Link Descriptors"); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); { EList _definedLinkDescriptors_1 = resource.getDefinedLinkDescriptors(); boolean _hasElements = false; for(final NamedLinkDescriptor link : _definedLinkDescriptors_1) { if (!_hasElements) { _hasElements = true; } else { _builder.appendImmediate("
", " "); } _builder.append(" "); String _name = link.getName(); _builder.append(_name, " "); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append("\t\t\t\t\t "); _builder.append("("); { EList _allIncludedProperties = link.getAllIncludedProperties(); final Function1 _function = (PropertyRealization it) -> { return it.getBaseProperty(); }; List _map = ListExtensions.map(_allIncludedProperties, _function); boolean _hasElements_1 = false; for(final Feature feature : _map) { if (!_hasElements_1) { _hasElements_1 = true; } else { _builder.appendImmediate(", ", " \t\t\t\t\t "); } _builder.append(""); String _name_1 = feature.getName(); _builder.append(_name_1, " \t\t\t\t\t "); _builder.append(""); } } _builder.append(")"); _builder.newLineIfNotEmpty(); { boolean _isDefault = link.isDefault(); if (_isDefault) { _builder.append(" "); _builder.append("\t\t\t\t\t "); _builder.append("Default"); _builder.newLine(); } } } } _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(""); _builder.newLine(); } } return _builder; } private CharSequence generateParams(final List params) { StringConcatenation _builder = new StringConcatenation(); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); { for(final Parameter param : params) { _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(" "); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(" "); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(" "); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(" "); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(""); _builder.newLine(); } } _builder.append("
NameDocumentationDefaultPropertyType
"); _builder.newLine(); _builder.append(" "); _builder.append(" "); String _name = param.getName(); _builder.append(_name, " "); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(" "); { boolean _isRequired = param.isRequired(); boolean _not = (!_isRequired); if (_not) { _builder.append("(optional)"); } } _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(" "); _builder.append(""); String _generateDoc = null; if (param!=null) { _generateDoc=this.docHelper.generateDoc(param); } _builder.append(_generateDoc, " "); _builder.append(""); String _default = param.getDefault(); _builder.append(_default, " "); _builder.append(""); SourceReference _sourceReference = param.getSourceReference(); String _paramName = this.parameterHelper.paramName(_sourceReference); _builder.append(_paramName, " "); _builder.append(""); SourceReference _sourceReference_1 = param.getSourceReference(); String _paramType = this.parameterHelper.paramType(_sourceReference_1, this.importHelper); _builder.append(_paramType, " "); _builder.append("
"); _builder.newLine(); return _builder; } private CharSequence generateRealizationTemplateDetails(final RealizationContainer resource) { CharSequence _xblockexpression = null; { if ((!this.isLiveView)) { StringConcatenation _builder = new StringConcatenation(); return _builder.toString(); } final Optional templateNameTag = TagUtils.getTagWithName(resource, TagUtils.REALIZATION_TEMPLATE_NAME); boolean _isWithDefaultRealization = resource.isWithDefaultRealization(); final boolean isInline = (!_isWithDefaultRealization); String _xifexpression = null; if (isInline) { _xifexpression = "(inline)"; } else { String _realizationName = resource.getRealizationName(); String _xifexpression_1 = null; if ((resource instanceof CollectionResource)) { _xifexpression_1 = " [*]"; } else { _xifexpression_1 = ""; } _xifexpression = (_realizationName + _xifexpression_1); } final String realizationName = _xifexpression; StringConcatenation _builder_1 = new StringConcatenation(); { boolean _isPresent = templateNameTag.isPresent(); if (_isPresent) { _builder_1.append("Realization: "); _builder_1.append(realizationName, ""); _builder_1.newLineIfNotEmpty(); { if ((!isInline)) { _builder_1.append(""); _builder_1.newLineIfNotEmpty(); _builder_1.append("\t"); _builder_1.append(""); _builder_1.newLine(); _builder_1.append("\t"); _builder_1.append(""); _builder_1.newLine(); _builder_1.append(""); _builder_1.newLine(); _builder_1.append("
"); _builder_1.newLineIfNotEmpty(); _builder_1.append("\t"); _builder_1.append(""); _builder_1.newLine(); _builder_1.append("\t\t"); _builder_1.append(""); _builder_1.newLineIfNotEmpty(); _builder_1.append("\t\t"); _builder_1.append(""); _builder_1.newLineIfNotEmpty(); _builder_1.append("\t\t"); _builder_1.append(""); _builder_1.newLineIfNotEmpty(); _builder_1.append("\t"); _builder_1.append("
Realization Name"); _builder_1.append(realizationName, "\t\t"); _builder_1.append("
Realization Template"); com.reprezen.rapidml.Extension _get = templateNameTag.get(); String _value = _get.getValue(); _builder_1.append(_value, "\t\t"); _builder_1.append("
Data Structure"); Structure _actualType_1 = resource.getActualType(); String _name = _actualType_1.getName(); _builder_1.append(_name, "\t\t"); _builder_1.append("
"); _builder_1.newLine(); _builder_1.append("
"); _builder_1.newLine(); } } } } _xblockexpression = _builder_1; } return _xblockexpression; } private CharSequence generateResourceDataType(final ServiceDataResource resource, final String headerMessage) { StringConcatenation _builder = new StringConcatenation(); _builder.append("

Data Properties

"); _builder.newLine(); CharSequence _generateRealizationTemplateDetails = this.generateRealizationTemplateDetails(resource); _builder.append(_generateRealizationTemplateDetails, ""); _builder.newLineIfNotEmpty(); _builder.append(headerMessage, ""); _builder.newLineIfNotEmpty(); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.newLine(); { Structure _dataType = resource.getDataType(); EList _ownedFeatures = _dataType.getOwnedFeatures(); final Function1 _function = (Feature e) -> { boolean _hasReferenceTreatment = this.hasReferenceTreatment(resource, e); return Boolean.valueOf((!_hasReferenceTreatment)); }; Iterable _filter = IterableExtensions.filter(_ownedFeatures, _function); for(final Feature aFeature : _filter) { { boolean _isIncluded = resource.isIncluded(aFeature); if (_isIncluded) { PropertyRealization _includedProperty = this.getIncludedProperty(resource, aFeature); CharSequence _generateIncludedPropertyRow = this.generateIncludedPropertyRow(_includedProperty); _builder.append(_generateIncludedPropertyRow, ""); _builder.newLineIfNotEmpty(); } } } } CharSequence _generateReferenceTreatments = this.generateReferenceTreatments(resource); _builder.append(_generateReferenceTreatments, ""); _builder.newLineIfNotEmpty(); _builder.append("
NameTypeDocumentation
"); _builder.newLine(); return _builder; } private CharSequence generateResourceDataType(final ServiceDataResource resource) { return this.generateResourceDataType(resource, ""); } private CharSequence generateMessageName(final TypedMessage message) { StringConcatenation _builder = new StringConcatenation(); { ResourceDefinition _resourceType = message.getResourceType(); boolean _tripleNotEquals = (_resourceType != null); if (_tripleNotEquals) { _builder.append(""); _builder.newLine(); _builder.append(""); ResourceDefinition _resourceType_2 = message.getResourceType(); String _name = _resourceType_2.getName(); _builder.append(_name, ""); _builder.append(""); _builder.newLineIfNotEmpty(); } else { Structure _actualType = message.getActualType(); boolean _tripleNotEquals_1 = (_actualType != null); if (_tripleNotEquals_1) { _builder.append(""); _builder.newLine(); _builder.append(""); Structure _actualType_2 = message.getActualType(); String _name_1 = _actualType_2.getName(); _builder.append(_name_1, ""); _builder.append(""); _builder.newLineIfNotEmpty(); } } } return _builder; } private CharSequence generateMessageDataType(final TypedMessage message) { StringConcatenation _builder = new StringConcatenation(); { boolean _or = false; EList _referenceTreatments = message.getReferenceTreatments(); boolean _isEmpty = _referenceTreatments.isEmpty(); boolean _not = (!_isEmpty); if (_not) { _or = true; } else { Structure _actualType = message.getActualType(); EList _ownedFeatures = _actualType.getOwnedFeatures(); final Function1 _function = (Feature e) -> { boolean _and = false; boolean _hasReferenceTreatment = this.hasReferenceTreatment(message, e); boolean _not_1 = (!_hasReferenceTreatment); if (!_not_1) { _and = false; } else { boolean _isIncluded = message.isIncluded(e); _and = _isIncluded; } return Boolean.valueOf(_and); }; Iterable _filter = IterableExtensions.filter(_ownedFeatures, _function); boolean _isEmpty_1 = IterableExtensions.isEmpty(_filter); boolean _not_1 = (!_isEmpty_1); _or = _not_1; } if (_or) { _builder.append("

Data Properties

"); _builder.newLine(); CharSequence _generateRealizationTemplateDetails = this.generateRealizationTemplateDetails(message); _builder.append(_generateRealizationTemplateDetails, ""); _builder.newLineIfNotEmpty(); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.newLine(); { Structure _actualType_1 = message.getActualType(); EList _ownedFeatures_1 = _actualType_1.getOwnedFeatures(); final Function1 _function_1 = (Feature e) -> { boolean _hasReferenceTreatment = this.hasReferenceTreatment(message, e); return Boolean.valueOf((!_hasReferenceTreatment)); }; Iterable _filter_1 = IterableExtensions.filter(_ownedFeatures_1, _function_1); for(final Feature aFeature : _filter_1) { { boolean _isIncluded = message.isIncluded(aFeature); if (_isIncluded) { PropertyRealization _includedProperty = this.getIncludedProperty(message, aFeature); CharSequence _generateIncludedPropertyRow = this.generateIncludedPropertyRow(_includedProperty); _builder.append(_generateIncludedPropertyRow, ""); _builder.newLineIfNotEmpty(); } } } } CharSequence _generateReferenceTreatments = this.generateReferenceTreatments(message); _builder.append(_generateReferenceTreatments, ""); _builder.newLineIfNotEmpty(); _builder.append("
NameTypeDocumentation
"); _builder.newLine(); } } return _builder; } private CharSequence generateMethod(final Method method) { StringConcatenation _builder = new StringConcatenation(); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(""); HTTPMethods _httpMethod = method.getHttpMethod(); _builder.append(_httpMethod, ""); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(""); String _id = method.getId(); _builder.append(_id, ""); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.newLine(); CharSequence _generateDocItem = this.docHelper.generateDocItem(method); _builder.append(_generateDocItem, ""); _builder.newLineIfNotEmpty(); _builder.newLine(); CharSequence _generateSecuritySchemeUsage = this.generateSecuritySchemeUsage(method); _builder.append(_generateSecuritySchemeUsage, ""); _builder.newLineIfNotEmpty(); _builder.newLine(); { boolean _or = false; TypedRequest _request = method.getRequest(); boolean _tripleNotEquals = (_request != null); if (_tripleNotEquals) { _or = true; } else { EList _responses = method.getResponses(); boolean _isEmpty = _responses.isEmpty(); boolean _not = (!_isEmpty); _or = _not; } if (_or) { _builder.append("
    "); } } _builder.newLineIfNotEmpty(); { TypedRequest _request_1 = method.getRequest(); boolean _tripleNotEquals_1 = (_request_1 != null); if (_tripleNotEquals_1) { TypedRequest _request_2 = method.getRequest(); CharSequence _generateRequest = this.generateRequest(_request_2); _builder.append(_generateRequest, ""); _builder.newLineIfNotEmpty(); } } { EList _responses_1 = method.getResponses(); boolean _isEmpty_1 = _responses_1.isEmpty(); boolean _not_1 = (!_isEmpty_1); if (_not_1) { { EList _responses_2 = method.getResponses(); for(final TypedResponse response : _responses_2) { CharSequence _generateResponse = this.generateResponse(response); _builder.append(_generateResponse, ""); _builder.newLineIfNotEmpty(); } } } } { boolean _or_1 = false; TypedRequest _request_3 = method.getRequest(); boolean _tripleNotEquals_2 = (_request_3 != null); if (_tripleNotEquals_2) { _or_1 = true; } else { EList _responses_3 = method.getResponses(); boolean _isEmpty_2 = _responses_3.isEmpty(); boolean _not_2 = (!_isEmpty_2); _or_1 = _not_2; } if (_or_1) { _builder.append("
"); } } _builder.newLineIfNotEmpty(); return _builder; } private CharSequence generateRequest(final TypedRequest request) { CharSequence _xblockexpression = null; { String id = this.docServices.randomId(); StringConcatenation _builder = new StringConcatenation(); { if ((request != null)) { _builder.append("
  • "); _builder.newLine(); _builder.append("Request "); CharSequence _generateMessageName = this.generateMessageName(request); _builder.append(_generateMessageName, ""); _builder.newLineIfNotEmpty(); { boolean _hasOverridedMediaTypes = this.hasOverridedMediaTypes(request); if (_hasOverridedMediaTypes) { _builder.append("

    Properties

    "); _builder.newLine(); _builder.append(""); _builder.newLine(); EList _mediaTypes = request.getMediaTypes(); CharSequence _generateMediaTypes = this.generateMediaTypes(_mediaTypes); _builder.append(_generateMediaTypes, ""); _builder.newLineIfNotEmpty(); _builder.append("
    "); _builder.newLine(); } } { boolean _showMessageDataType = this.showMessageDataType(request); if (_showMessageDataType) { CharSequence _generateMessageDataType = this.generateMessageDataType(request); _builder.append(_generateMessageDataType, ""); _builder.newLineIfNotEmpty(); } } CharSequence _generateDocItem = this.docHelper.generateDocItem(request); _builder.append(_generateDocItem, ""); _builder.newLineIfNotEmpty(); { EList _parameters = request.getParameters(); boolean _isEmpty = _parameters.isEmpty(); boolean _not = (!_isEmpty); if (_not) { _builder.append("
    "); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append("Parameters"); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append("
    "); _builder.newLine(); _builder.append("
    "); _builder.newLineIfNotEmpty(); _builder.append(" "); EList _parameters_1 = request.getParameters(); CharSequence _generateParams = this.generateParams(_parameters_1); _builder.append(_generateParams, " "); _builder.newLineIfNotEmpty(); _builder.append("
    "); _builder.newLine(); } } _builder.append("
  • "); _builder.newLine(); } } _xblockexpression = _builder; } return _xblockexpression; } private CharSequence generateResponse(final TypedResponse response) { StringConcatenation _builder = new StringConcatenation(); _builder.append(" "); _builder.append("
  • "); _builder.newLine(); _builder.append(" "); _builder.append("Response "); CharSequence _generateMessageName = this.generateMessageName(response); _builder.append(_generateMessageName, " "); _builder.newLineIfNotEmpty(); { int _statusCode = response.getStatusCode(); boolean _greaterThan = (_statusCode > 0); if (_greaterThan) { _builder.append(""); int _statusCode_2 = response.getStatusCode(); _builder.append(_statusCode_2, ""); _builder.append(""); _builder.newLineIfNotEmpty(); } } { boolean _hasOverridedMediaTypes = this.hasOverridedMediaTypes(response); if (_hasOverridedMediaTypes) { _builder.append("

    Properties

    "); _builder.newLine(); _builder.append(""); _builder.newLine(); EList _mediaTypes = response.getMediaTypes(); CharSequence _generateMediaTypes = this.generateMediaTypes(_mediaTypes); _builder.append(_generateMediaTypes, ""); _builder.newLineIfNotEmpty(); _builder.append("
    "); _builder.newLine(); } } { boolean _showMessageDataType = this.showMessageDataType(response); if (_showMessageDataType) { CharSequence _generateMessageDataType = this.generateMessageDataType(response); _builder.append(_generateMessageDataType, ""); _builder.newLineIfNotEmpty(); } } _builder.append(" "); CharSequence _generateDocItem = this.docHelper.generateDocItem(response); _builder.append(_generateDocItem, " "); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append("
  • "); _builder.newLine(); return _builder; } private boolean showMessageDataType(final TypedMessage message) { boolean _and = false; Structure _actualType = message.getActualType(); boolean _tripleNotEquals = (_actualType != null); if (!_tripleNotEquals) { _and = false; } else { ResourceDefinition _resourceType = message.getResourceType(); boolean _tripleEquals = (_resourceType == null); _and = _tripleEquals; } return _and; } private CharSequence generateIncludedPropertyRow(final PropertyRealization includedProperty) { StringConcatenation _builder = new StringConcatenation(); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); Feature _baseProperty = includedProperty.getBaseProperty(); String _name = _baseProperty.getName(); _builder.append(_name, " "); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(""); _builder.newLine(); { Feature _baseProperty_1 = includedProperty.getBaseProperty(); if ((_baseProperty_1 instanceof ReferenceProperty)) { _builder.append(" "); _builder.append(""); CharSequence _generateIncludedPropertyType = this.generateIncludedPropertyType(includedProperty); _builder.append(_generateIncludedPropertyType, " "); _builder.append(""); _builder.newLineIfNotEmpty(); } else { _builder.append(" "); Feature _baseProperty_3 = includedProperty.getBaseProperty(); final SingleValueType type = ((PrimitiveProperty) _baseProperty_3).getType(); _builder.newLineIfNotEmpty(); { boolean _or = false; if ((type instanceof Enumeration)) { _or = true; } else { _or = (type instanceof UserDefinedType); } if (_or) { _builder.append(" "); _builder.append(""); CharSequence _generateIncludedPropertyType_1 = this.generateIncludedPropertyType(includedProperty); _builder.append(_generateIncludedPropertyType_1, " "); _builder.append(""); _builder.newLineIfNotEmpty(); } else { _builder.append(" "); CharSequence _generateIncludedPropertyType_2 = this.generateIncludedPropertyType(includedProperty); _builder.append(_generateIncludedPropertyType_2, " "); _builder.newLineIfNotEmpty(); } } } } _builder.append(" "); EList _allConstraints = includedProperty.getAllConstraints(); CharSequence _generateInlineConstraints = this.docHelper.generateInlineConstraints(_allConstraints); _builder.append(_generateInlineConstraints, " "); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); Feature _baseProperty_4 = includedProperty.getBaseProperty(); String _generateDoc = null; if (_baseProperty_4!=null) { _generateDoc=this.docHelper.generateDoc(_baseProperty_4); } _builder.append(_generateDoc, " "); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(""); _builder.newLine(); return _builder; } private CharSequence generateMediaTypes(final List mediaTypes) { StringConcatenation _builder = new StringConcatenation(); { boolean _isEmpty = mediaTypes.isEmpty(); boolean _not = (!_isEmpty); if (_not) { _builder.append(""); _builder.newLine(); _builder.append("\t"); _builder.append("Media Types"); _builder.newLine(); _builder.append("\t"); _builder.append(""); _builder.newLine(); _builder.append("\t"); { boolean _hasElements = false; for(final MediaType mediaType : mediaTypes) { if (!_hasElements) { _hasElements = true; } else { _builder.appendImmediate(", ", "\t"); } _builder.append(""); String _name = mediaType.getName(); _builder.append(_name, "\t"); _builder.append(""); } } _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append(""); _builder.newLine(); _builder.append(""); _builder.newLine(); } } return _builder; } private boolean hasOverridedMediaTypes(final TypedMessage message) { EList _mediaTypes = message.getMediaTypes(); boolean _isEmpty = _mediaTypes.isEmpty(); boolean _not = (!_isEmpty); if (_not) { EList _mediaTypes_1 = message.getMediaTypes(); EObject _eContainer = message.eContainer(); ResourceDefinition _containingResourceDefinition = ((Method) _eContainer).getContainingResourceDefinition(); EList _mediaTypes_2 = _containingResourceDefinition.getMediaTypes(); boolean _elementsEqual = IterableExtensions.elementsEqual(_mediaTypes_1, _mediaTypes_2); return (!_elementsEqual); } return false; } private boolean hasReferenceTreatment(final ServiceDataResource resource, final Feature feature) { EList _referenceTreatments = resource.getReferenceTreatments(); final Function1 _function = (ReferenceTreatment it) -> { return it.getReferenceElement(); }; List _map = ListExtensions.map(_referenceTreatments, _function); final Function1 _function_1 = (ReferenceElement f) -> { return Boolean.valueOf((f == feature)); }; return IterableExtensions.exists(_map, _function_1); } private boolean hasReferenceTreatment(final TypedMessage message, final Feature feature) { EList _referenceTreatments = message.getReferenceTreatments(); final Function1 _function = (ReferenceTreatment it) -> { return it.getReferenceElement(); }; List _map = ListExtensions.map(_referenceTreatments, _function); final Function1 _function_1 = (ReferenceElement f) -> { return Boolean.valueOf((f == feature)); }; return IterableExtensions.exists(_map, _function_1); } private PropertyRealization getIncludedProperty(final ServiceDataResource resource, final Feature feature) { ObjectRealization _properties = resource.getProperties(); return this.getIncludedProperty(_properties, feature); } private PropertyRealization getIncludedProperty(final TypedMessage message, final Feature feature) { ObjectRealization _properties = message.getProperties(); return this.getIncludedProperty(_properties, feature); } private PropertyRealization getIncludedProperty(final ObjectRealization objectRealization, final Feature feature) { EList _allIncludedProperties = objectRealization.getAllIncludedProperties(); final Function1 _function = (PropertyRealization it) -> { Feature _baseProperty = it.getBaseProperty(); return Boolean.valueOf(InheritanceUtils.sameOrOverrides(_baseProperty, feature)); }; Iterable _filter = IterableExtensions.filter(_allIncludedProperties, _function); return IterableExtensions.head(_filter); } private CharSequence generateReferenceTreatments(final ServiceDataResource resource) { StringConcatenation _builder = new StringConcatenation(); { EList _referenceTreatments = resource.getReferenceTreatments(); for(final ReferenceTreatment refTreatment : _referenceTreatments) { EList _includedProperties = resource.getIncludedProperties(); CycleDetector _cycleDetector = new CycleDetector(); String _generateReferenceTreatment = this.generateReferenceTreatment(refTreatment, _includedProperties, _cycleDetector, Integer.valueOf(0)); _builder.append(_generateReferenceTreatment, ""); _builder.newLineIfNotEmpty(); } } return _builder; } private CharSequence generateReferenceTreatments(final TypedMessage message) { StringConcatenation _builder = new StringConcatenation(); { EList _referenceTreatments = message.getReferenceTreatments(); for(final ReferenceTreatment refTreatment : _referenceTreatments) { EList _includedProperties = message.getIncludedProperties(); CycleDetector _cycleDetector = new CycleDetector(); String _generateReferenceTreatment = this.generateReferenceTreatment(refTreatment, _includedProperties, _cycleDetector, Integer.valueOf(0)); _builder.append(_generateReferenceTreatment, ""); _builder.newLineIfNotEmpty(); } } return _builder; } private String _generateReferenceTreatment(final ReferenceLink refLink, final List includedProperies, final CycleDetector cycleDetector, final Integer indent) { String _xblockexpression = null; { final ReferenceElement referencedProperty = refLink.getReferenceElement(); final String cardinality = XDataTypeExtensions.getCardinalityLabel(refLink, includedProperies); StringConcatenation _builder = new StringConcatenation(); _builder.append(""); _builder.newLine(); _builder.append(" _containmentReferences = this.parameterHelper.getContainmentReferences(refLink); int _size = _containmentReferences.size(); int _multiply = (1 * _size); int _plus = ((indent).intValue() + _multiply); _builder.append(_plus, ""); _builder.append("em;\">"); _builder.newLineIfNotEmpty(); _builder.append(" "); String _name = referencedProperty.getName(); _builder.append(_name, " "); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(""); ResourceDefinition _targetResource_1 = refLink.getTargetResource(); String _name_1 = _targetResource_1.getName(); _builder.append(_name_1, ""); _builder.append(""); _builder.append(cardinality, ""); _builder.newLineIfNotEmpty(); _builder.append(""); _builder.newLine(); _builder.append(""); String _xifexpression = null; if ((referencedProperty instanceof ReferenceProperty)) { _xifexpression = this.docHelper.generateDoc(((ReferenceProperty) referencedProperty)); } else { _xifexpression = "TODO"; } _builder.append(_xifexpression, ""); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(""); _builder.newLine(); { List _includedProperties = this.getIncludedProperties(refLink); for(final Feature feature : _includedProperties) { CharSequence _generateReferenceTreatmentPropertyRow = this.generateReferenceTreatmentPropertyRow(feature, Integer.valueOf(((indent).intValue() + 1)), true); _builder.append(_generateReferenceTreatmentPropertyRow, ""); _builder.newLineIfNotEmpty(); } } _xblockexpression = _builder.toString(); } return _xblockexpression; } private String _generateReferenceTreatment(final ReferenceEmbed refEmbed, final List includedProperies, final CycleDetector cycleDetector, final Integer indent) { String _xblockexpression = null; { boolean _visit = cycleDetector.visit(refEmbed); final boolean isRecursive = (!_visit); final ReferenceElement referencedProperty = refEmbed.getReferenceElement(); final String cardinality = XDataTypeExtensions.getCardinalityLabel(refEmbed, includedProperies); StringConcatenation _builder = new StringConcatenation(); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(" _containmentReferences = this.parameterHelper.getContainmentReferences(refEmbed); int _size = _containmentReferences.size(); int _multiply = (1 * _size); int _plus = ((indent).intValue() + _multiply); _builder.append(_plus, " "); _builder.append("em;\">"); _builder.newLineIfNotEmpty(); _builder.append(" "); String _name = referencedProperty.getName(); _builder.append(_name, " "); _builder.append(" "); { if (isRecursive) { _builder.append(" (recursive) "); } } _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); Structure _dataType_1 = referencedProperty.getDataType(); String _qualifiedName = this.importHelper.getQualifiedName(_dataType_1); _builder.append(_qualifiedName, " "); _builder.append(""); _builder.append(cardinality, " "); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(""); _builder.newLine(); _builder.append(""); String _xifexpression = null; if ((referencedProperty instanceof ReferenceProperty)) { _xifexpression = this.docHelper.generateDoc(((ReferenceProperty) referencedProperty)); } else { _xifexpression = "TODO"; } _builder.append(_xifexpression, ""); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(""); _builder.newLine(); { if ((!isRecursive)) { { List _includedProperties = this.getIncludedProperties(refEmbed); final Function1 _function = (Feature e) -> { return Boolean.valueOf((e instanceof PrimitiveProperty)); }; Iterable _filter = IterableExtensions.filter(_includedProperties, _function); for(final Feature feature : _filter) { CharSequence _generateReferenceTreatmentPropertyRow = this.generateReferenceTreatmentPropertyRow(feature, Integer.valueOf(((indent).intValue() + 1)), true); _builder.append(_generateReferenceTreatmentPropertyRow, ""); _builder.newLineIfNotEmpty(); } } { EList _nestedReferenceTreatments = refEmbed.getNestedReferenceTreatments(); for(final ReferenceTreatment refTreatment : _nestedReferenceTreatments) { String _generateReferenceTreatment = this.generateReferenceTreatment(refTreatment, includedProperies, cycleDetector, Integer.valueOf(((indent).intValue() + 1))); _builder.append(_generateReferenceTreatment, ""); _builder.newLineIfNotEmpty(); } } } } _xblockexpression = _builder.toString(); } return _xblockexpression; } private CharSequence generateIncludedPropertyType(final PropertyRealization includedProperty) { StringConcatenation _builder = new StringConcatenation(); Feature _baseProperty = includedProperty.getBaseProperty(); String _featureType = this.parameterHelper.featureType(_baseProperty, this.importHelper); _builder.append(_featureType, ""); String _prettyPrintedCardinality = this.commonServices.getPrettyPrintedCardinality(includedProperty); _builder.append(_prettyPrintedCardinality, ""); _builder.newLineIfNotEmpty(); return _builder; } private List getIncludedProperties(final ReferenceTreatment refLink) { List _xifexpression = null; ObjectRealization _linkDescriptor = refLink.getLinkDescriptor(); boolean _tripleEquals = (_linkDescriptor == null); if (_tripleEquals) { _xifexpression = Collections.emptyList(); } else { ObjectRealization _linkDescriptor_1 = refLink.getLinkDescriptor(); EList _allIncludedProperties = _linkDescriptor_1.getAllIncludedProperties(); final Function1 _function = (PropertyRealization it) -> { return it.getBaseProperty(); }; _xifexpression = ListExtensions.map(_allIncludedProperties, _function); } return _xifexpression; } private CharSequence generateReferenceTreatmentPropertyRow(final Feature property, final Integer indent, final boolean genDoc) { StringConcatenation _builder = new StringConcatenation(); _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); String _name = property.getName(); _builder.append(_name, " "); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(""); _builder.newLine(); { if ((property instanceof ReferenceProperty)) { _builder.append(" "); _builder.append(""); String _featureType = this.parameterHelper.featureType(property, this.importHelper); _builder.append(_featureType, " "); String _prettyPrintedMultiplicity = this.commonServices.getPrettyPrintedMultiplicity(property); _builder.append(_prettyPrintedMultiplicity, " "); _builder.append(""); _builder.newLineIfNotEmpty(); } else { _builder.append(" "); String _featureType_1 = this.parameterHelper.featureType(property, this.importHelper); _builder.append(_featureType_1, " "); String _prettyPrintedMultiplicity_1 = this.commonServices.getPrettyPrintedMultiplicity(property); _builder.append(_prettyPrintedMultiplicity_1, " "); _builder.newLineIfNotEmpty(); } } _builder.append(" "); _builder.append(""); _builder.newLine(); { if (genDoc) { _builder.append(" "); _builder.append(""); String _generateDoc = null; if (property!=null) { _generateDoc=this.docHelper.generateDoc(property); } _builder.append(_generateDoc, " "); _builder.append(""); _builder.newLineIfNotEmpty(); } } _builder.append(""); _builder.newLine(); return _builder; } protected CharSequence generateSecuritySchemeUsage(final HasSecurityValue hasSecuredValue) { StringConcatenation _builder = new StringConcatenation(); { EList _securedBy = hasSecuredValue.getSecuredBy(); boolean _isEmpty = _securedBy.isEmpty(); boolean _not = (!_isEmpty); if (_not) { CharSequence _tableWithHeader = XDocHelper.tableWithHeader("Security Schemes", "Name", "Type", "Authorized Scopes"); _builder.append(_tableWithHeader, ""); _builder.newLineIfNotEmpty(); { EList _securedBy_1 = hasSecuredValue.getSecuredBy(); for(final AuthenticationMethod authMethod : _securedBy_1) { _builder.append(""); _builder.newLine(); _builder.append(" "); _builder.append(""); SecurityScheme _scheme_1 = authMethod.getScheme(); String _name = _scheme_1.getName(); _builder.append(_name, " "); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(""); SecurityScheme _scheme_2 = authMethod.getScheme(); AuthenticationTypes _type = _scheme_2.getType(); String _string = _type.toString(); _builder.append(_string, " "); _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(" "); _builder.append(""); { EList _scopes = authMethod.getScopes(); boolean _hasElements = false; for(final SecurityScope scope : _scopes) { if (!_hasElements) { _hasElements = true; } else { _builder.appendImmediate(", ", " "); } String _name_1 = scope.getName(); _builder.append(_name_1, " "); } } _builder.append(""); _builder.newLineIfNotEmpty(); _builder.append(""); _builder.newLine(); } } _builder.append(""); _builder.newLine(); } } return _builder; } public static String statusColorCode(final Integer code) { String _switchResult = null; boolean _matched = false; if (!_matched) { if ((((code).intValue() >= 100) && ((code).intValue() < 200))) { _matched=true; _switchResult = "info"; } } if (!_matched) { if ((((code).intValue() >= 200) && ((code).intValue() < 300))) { _matched=true; _switchResult = "success"; } } if (!_matched) { if ((((code).intValue() >= 300) && ((code).intValue() < 400))) { _matched=true; _switchResult = "info"; } } if (!_matched) { _switchResult = "danger"; } return _switchResult; } public boolean isLiveView(final boolean isLiveView) { return this.isLiveView = isLiveView; } private String generateReferenceTreatment(final ReferenceTreatment refEmbed, final List includedProperies, final CycleDetector cycleDetector, final Integer indent) { if (refEmbed instanceof ReferenceEmbed) { return _generateReferenceTreatment((ReferenceEmbed)refEmbed, includedProperies, cycleDetector, indent); } else if (refEmbed instanceof ReferenceLink) { return _generateReferenceTreatment((ReferenceLink)refEmbed, includedProperies, cycleDetector, indent); } else { throw new IllegalArgumentException("Unhandled parameter types: " + Arrays.asList(refEmbed, includedProperies, cycleDetector, indent).toString()); } } }