_builder.newLine();
_builder.append("\t");
_builder.append("\t");
_builder.append("<code>");
{
CSSRule _rule = r.getRule();
boolean _notEquals = (!Objects.equal(_rule, null));
if (_notEquals) {
CSSRule _rule_1 = r.getRule();
String _translateRule = this.translateRule(_rule_1);
_builder.append(_translateRule, " ");
} else {
CSSRule _func = ((CSSRuleDefinition) r).getFunc();
String _name_2 = ((CSSRuleFunc) _func).getName();
_builder.append(_name_2, " ");
_builder.append("(");
CSSRule _func_1 = ((CSSRuleDefinition) r).getFunc();
CSSRule _params = ((CSSRuleFunc) _func_1).getParams();
String _translateRule_1 = this.translateRule(_params);
_builder.append(_translateRule_1, " ");
_builder.append(")");
}
}
_builder.append("</code>");
_builder.newLineIfNotEmpty();
{
Doku _doku = r.getDoku();
boolean _notEquals_1 = (!Objects.equal(_doku, null));
if (_notEquals_1) {
_builder.append("\t");
_builder.append("\t");
_builder.append("<div class=\"bs-docs-description\">");
Doku _doku_1 = r==null?(Doku)null:r.getDoku();
String _content = _doku_1==null?(String)null:_doku_1.getContent();
String _fixJDoc = _content==null?(String)null:this.fixJDoc(_content);
_builder.append(_fixJDoc, " ");
_builder.append("</div>");
_builder.newLineIfNotEmpty();
}
}
_builder.append("\t");
_builder.append("</div>");
_builder.newLine();
}
}
_builder.append("\t");
_builder.append("<h2>Elements</h2>");
_builder.newLine();
{
EList<ElementDefinition> _elements = p.getElements();
for(final ElementDefinition e : _elements) {
_builder.append("\t");
_builder.append("<a name=\"el_");
String _calcPackagename_3 = this.calcPackagename(p);
String _plus_2 = (_calcPackagename_3 + ".");
String _name_3 = e.getName();
String _plus_3 = (_plus_2 + _name_3);
_builder.append(_plus_3, " ");
_builder.append("\"></a>");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("<h3>");
String _name_4 = e.getName();
_builder.append(_name_4, " ");
{
EList<ElementDefinition> _super = e.getSuper();
boolean _isEmpty = _super.isEmpty();
boolean _not = (!_isEmpty);
if (_not) {
_builder.append(" <small>extends ");
EList<ElementDefinition> _super_1 = e.getSuper();
final Function1<ElementDefinition,String> _function = new Function1<ElementDefinition,String>() {
public String apply(final ElementDefinition el) {
EObject _eContainer = el.eContainer();
String _calcPackagename = HTMLDocGenerator.this.calcPackagename(((PackageDefinition) _eContainer));
String _plus = ("<a class=\'bs-href\' href=\'#el_" + _calcPackagename);
String _plus_1 = (_plus + ".");
String _name = el.getName();
String _plus_2 = (_plus_1 + _name);
String _plus_3 = (_plus_2 + "\'>");
String _name_1 = el.getName();
String _plus_4 = (_plus_3 + _name_1);
String _plus_5 = (_plus_4 + "</a>");
return _plus_5;
}
};
List<String> _map = ListExtensions.<ElementDefinition, String>map(_super_1, _function);
String _join = IterableExtensions.join(_map, ",");
_builder.append(_join, " ");
_builder.append("</small>");
}
}
_builder.append("</h3>");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("<div style=\"padding-left: 40px;\">");
_builder.newLine();
_builder.append("\t");
_builder.append("\t");
_builder.append("<div class=\"accordion\" id=\"ac_");
String _calcPackagename_4 = this.calcPackagename(p);
String _replace = _calcPackagename_4.replace(".", "_");
String _plus_4 = (_replace + "_");
String _name_5 = e.getName();
String _plus_5 = (_plus_4 + _name_5);
_builder.append(_plus_5, " ");
_builder.append("\">");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("<div class=\"accordion-group\">");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t\t");
_builder.append("<div class=\"accordion-heading\">");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t\t\t");
_builder.append("<a class=\"accordion-toggle\" data-toggle=\"collapse\" data-parent=\"#ac_");
String _calcPackagename_5 = this.calcPackagename(p);
String _replace_1 = _calcPackagename_5.replace(".", "_");
String _plus_6 = (_replace_1 + "_");
String _name_6 = e.getName();
String _plus_7 = (_plus_6 + _name_6);
_builder.append(_plus_7, " ");
_builder.append("\" href=\"#desc_");
String _calcPackagename_6 = this.calcPackagename(p);
String _replace_2 = _calcPackagename_6.replace(".", "_");
String _plus_8 = (_replace_2 + "_");
String _name_7 = e.getName();
String _plus_9 = (_plus_8 + _name_7);
_builder.append(_plus_9, " ");
_builder.append("\">");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t\t\t\t");
_builder.append("Description");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t\t\t");
_builder.append("</a>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t\t");
_builder.append("</div>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t\t");
_builder.append("<div id=\"desc_");
String _calcPackagename_7 = this.calcPackagename(p);
String _replace_3 = _calcPackagename_7.replace(".", "_");
String _plus_10 = (_replace_3 + "_");
String _name_8 = e.getName();
String _plus_11 = (_plus_10 + _name_8);
_builder.append(_plus_11, " ");
_builder.append("\" class=\"accordion-body collapse\">");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t\t\t");
_builder.append("<div class=\"accordion-inner\">");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t\t\t\t");
Doku _doku_2 = e==null?(Doku)null:e.getDoku();
String _content_1 = _doku_2==null?(String)null:_doku_2.getContent();
String _fixJDoc_1 = _content_1==null?(String)null:this.fixJDoc(_content_1);
_builder.append(_fixJDoc_1, " ");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t\t\t");
_builder.append("</div>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t\t");
_builder.append("</div>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("</div>");
_builder.newLine();
{
EList<Definition> _properties = e.getProperties();
boolean _isEmpty_1 = _properties.isEmpty();
boolean _not_1 = (!_isEmpty_1);
if (_not_1) {
_builder.append("\t");
_builder.append("\t\t");
_builder.append("<div class=\"accordion-group\">");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t");
_builder.append("<div class=\"accordion-heading\">");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("<a class=\"accordion-toggle\" data-toggle=\"collapse\" data-parent=\"#ac_");
String _calcPackagename_8 = this.calcPackagename(p);
String _replace_4 = _calcPackagename_8.replace(".", "_");
String _plus_12 = (_replace_4 + "_");
String _name_9 = e.getName();
String _plus_13 = (_plus_12 + _name_9);
_builder.append(_plus_13, " ");
_builder.append("\" href=\"#props_");
String _calcPackagename_9 = this.calcPackagename(p);
String _replace_5 = _calcPackagename_9.replace(".", "_");
String _plus_14 = (_replace_5 + "_");
String _name_10 = e.getName();
String _plus_15 = (_plus_14 + _name_10);
_builder.append(_plus_15, " ");
_builder.append("\">");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t");
_builder.append("Properties");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("</a>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t");
_builder.append("</div>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t");
_builder.append("<div id=\"props_");
String _calcPackagename_10 = this.calcPackagename(p);
String _replace_6 = _calcPackagename_10.replace(".", "_");
String _plus_16 = (_replace_6 + "_");
String _name_11 = e.getName();
String _plus_17 = (_plus_16 + _name_11);
_builder.append(_plus_17, " ");
_builder.append("\" class=\"accordion-body collapse\">");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("<table class=\"table table-bordered table-striped\">");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t");
_builder.append("<thead>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("<tr>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("<th>Property</th>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("<th>Definition</th>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("<th>Default</th>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("<th>Description</th>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("</tr>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t");
_builder.append("</thead>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t");
_builder.append("<tbody>");
_builder.newLine();
{
EList<Definition> _properties_1 = e.getProperties();
for(final Definition prop : _properties_1) {
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("<tr>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("\t");
_builder.append("<td><nobr>");
String _name_12 = prop.getName();
_builder.append(_name_12, " ");
_builder.append("</nobr></td>");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("\t");
_builder.append("<td>");
CSSRule _rule_2 = prop.getRule();
String _translateRule_2 = this.translateRule(_rule_2);
_builder.append(_translateRule_2, " ");
_builder.append("</td>");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("\t");
_builder.append("<td>");
CSSDefaultValue _default = ((PropertyDefinition) prop)==null?(CSSDefaultValue)null:((PropertyDefinition) prop).getDefault();
String _calcDefault = _default==null?(String)null:this.calcDefault(_default);
_builder.append(_calcDefault, " ");
_builder.append("</td>");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("\t");
_builder.append("<td>");
Doku _doku_3 = prop==null?(Doku)null:prop.getDoku();
String _content_2 = _doku_3==null?(String)null:_doku_3.getContent();
String _fixJDoc_2 = _content_2==null?(String)null:this.fixJDoc(_content_2);
_builder.append(_fixJDoc_2, " ");
_builder.append("</td>");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("</tr>");
_builder.newLine();
}
}
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t");
_builder.append("</tbody>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("</table>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t");
_builder.append("</div>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("</div>");
_builder.newLine();
}
}
{
HashSet<ElementDefinition> _allSuperElements = this.allSuperElements(e);
boolean _isEmpty_2 = _allSuperElements.isEmpty();
boolean _not_2 = (!_isEmpty_2);
if (_not_2) {
_builder.append("\t");
_builder.append("\t\t");
_builder.append("<div class=\"accordion-group\">");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t");
_builder.append("<div class=\"accordion-heading\">");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("<a class=\"accordion-toggle\" data-toggle=\"collapse\" data-parent=\"#ac_");
String _calcPackagename_11 = this.calcPackagename(p);
String _replace_7 = _calcPackagename_11.replace(".", "_");
String _plus_18 = (_replace_7 + "_");
String _name_13 = e.getName();
String _plus_19 = (_plus_18 + _name_13);
_builder.append(_plus_19, " ");
_builder.append("\" href=\"#props_");
String _calcPackagename_12 = this.calcPackagename(p);
String _replace_8 = _calcPackagename_12.replace(".", "_");
String _plus_20 = (_replace_8 + "_");
String _name_14 = e.getName();
String _plus_21 = (_plus_20 + _name_14);
_builder.append(_plus_21, " ");
_builder.append("_inherited\">");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t");
_builder.append("Inherited Properties");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("</a>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t");
_builder.append("</div>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t");
_builder.append("<div id=\"props_");
String _calcPackagename_13 = this.calcPackagename(p);
String _replace_9 = _calcPackagename_13.replace(".", "_");
String _plus_22 = (_replace_9 + "_");
String _name_15 = e.getName();
String _plus_23 = (_plus_22 + _name_15);
_builder.append(_plus_23, " ");
_builder.append("_inherited\" class=\"accordion-body collapse\">");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("<table class=\"table table-bordered table-striped\">");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t");
_builder.append("<thead>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("<tr>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("<th>Element</th>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("<th>Property</th>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("<th>Definition</th>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("<th>Default</th>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("<th>Description</th>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("</tr>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t");
_builder.append("</thead>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t");
_builder.append("<tbody>");
_builder.newLine();
{
HashSet<ElementDefinition> _allSuperElements_1 = this.allSuperElements(e);
for(final ElementDefinition su : _allSuperElements_1) {
{
EList<Definition> _properties_2 = ((ElementDefinition) su).getProperties();
for(final Definition prop_1 : _properties_2) {
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("<tr>");
_builder.newLine();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("\t");
_builder.append("<td>");
{
EList<Definition> _properties_3 = ((ElementDefinition) su).getProperties();
Definition _get = _properties_3.get(0);
boolean _equals = Objects.equal(_get, prop_1);
if (_equals) {
_builder.append("<nobr>");
String _name_16 = ((ElementDefinition) su).getName();
_builder.append(_name_16, " ");
_builder.append("</nobr>");
}
}
_builder.append("</td>");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("\t");
_builder.append("<td><nobr>");
String _name_17 = prop_1.getName();
_builder.append(_name_17, " ");
_builder.append("</nobr></td>");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("\t");
_builder.append("<td>");
CSSRule _rule_3 = prop_1.getRule();
String _translateRule_3 = this.translateRule(_rule_3);
_builder.append(_translateRule_3, " ");
_builder.append("</td>");
_builder.newLineIfNotEmpty();
_builder.append("\t");