return _builder;
}
public CharSequence componentDefinition(final ComponentDefinition definition, final ImportManager importManager, final LanguageManager languageManager, final boolean preview, final boolean skipController, final boolean skipIncludes) {
StringConcatenation _builder = new StringConcatenation();
final Element element = definition.getRootNode();
_builder.newLineIfNotEmpty();
{
boolean _isDynamicRoot = definition.isDynamicRoot();
if (_isDynamicRoot) {
_builder.append("<fx:root xmlns:fx=\"http://javafx.com/fxml\" type=\"");
JvmTypeReference _type = element.getType();
String _shortName = this.shortName(_type, importManager);
_builder.append(_shortName, "");
_builder.append("\"");
String _fxElementAttributes = this.fxElementAttributes(element, importManager, skipController);
_builder.append(_fxElementAttributes, "");
{
boolean _and = false;
JvmTypeReference _controller = definition.getController();
boolean _notEquals = (!Objects.equal(_controller, null));
if (!_notEquals) {
_and = false;
} else {
boolean _not = (!skipController);
_and = (_notEquals && _not);
}
if (_and) {
_builder.append(" fx:controller=\"");
JvmTypeReference _controller_1 = definition.getController();
String _qualifiedName = _controller_1.getQualifiedName();
_builder.append(_qualifiedName, "");
_builder.append("\"");
}
}
{
boolean _hasAttributeProperties = this.hasAttributeProperties(element, preview);
if (_hasAttributeProperties) {
EList<Property> _properties = element.getProperties();
StringBuilder _elementAttributes = this.elementAttributes(_properties, preview, skipController);
_builder.append(_elementAttributes, "");
EList<StaticValueProperty> _staticProperties = element.getStaticProperties();
StringBuilder _elementStaticAttributes = this.elementStaticAttributes(_staticProperties, importManager, preview, skipController);
_builder.append(_elementStaticAttributes, "");
EList<StaticCallValueProperty> _staticCallProperties = element.getStaticCallProperties();
StringBuilder _elementStaticCallAttributes = this.elementStaticCallAttributes(_staticCallProperties, importManager, preview, skipController);
_builder.append(_elementStaticCallAttributes, "");
}
}
_builder.append(">");
_builder.newLineIfNotEmpty();
} else {
_builder.append("<");
JvmTypeReference _type_1 = element.getType();
String _shortName_1 = this.shortName(_type_1, importManager);
_builder.append(_shortName_1, "");
_builder.append(" xmlns:fx=\"http://javafx.com/fxml\"");
String _fxElementAttributes_1 = this.fxElementAttributes(element, importManager, skipController);
_builder.append(_fxElementAttributes_1, "");
{
boolean _and_1 = false;
JvmTypeReference _controller_2 = definition.getController();
boolean _notEquals_1 = (!Objects.equal(_controller_2, null));
if (!_notEquals_1) {
_and_1 = false;
} else {
boolean _not_1 = (!skipController);
_and_1 = (_notEquals_1 && _not_1);
}
if (_and_1) {
_builder.append(" fx:controller=\"");
JvmTypeReference _controller_3 = definition.getController();
String _qualifiedName_1 = _controller_3.getQualifiedName();
_builder.append(_qualifiedName_1, "");
_builder.append("\"");
}
}
{
boolean _hasAttributeProperties_1 = this.hasAttributeProperties(element, preview);
if (_hasAttributeProperties_1) {
EList<Property> _properties_1 = element.getProperties();
StringBuilder _elementAttributes_1 = this.elementAttributes(_properties_1, preview, skipController);
_builder.append(_elementAttributes_1, "");
EList<StaticValueProperty> _staticProperties_1 = element.getStaticProperties();
StringBuilder _elementStaticAttributes_1 = this.elementStaticAttributes(_staticProperties_1, importManager, preview, skipController);
_builder.append(_elementStaticAttributes_1, "");
EList<StaticCallValueProperty> _staticCallProperties_1 = element.getStaticCallProperties();
StringBuilder _elementStaticCallAttributes_1 = this.elementStaticCallAttributes(_staticCallProperties_1, importManager, preview, skipController);
_builder.append(_elementStaticCallAttributes_1, "");
}
}
_builder.append(">");
_builder.newLineIfNotEmpty();
}
}
{
EList<Define> _defines = definition.getDefines();
int _size = _defines.size();
boolean _greaterThan = (_size > 0);
if (_greaterThan) {
_builder.append("\t");
_builder.append("<fx:define>");
_builder.newLine();
{
EList<Define> _defines_1 = definition.getDefines();
for(final Define define : _defines_1) {
{
Element _element = define.getElement();
boolean _notEquals_2 = (!Objects.equal(_element, null));
if (_notEquals_2) {
_builder.append("\t");
_builder.append("\t");
Element _element_1 = define.getElement();
CharSequence _elementContent = this.elementContent(_element_1, importManager, preview, skipController, skipIncludes);
_builder.append(_elementContent, " ");
_builder.newLineIfNotEmpty();
} else {
IncludeValueProperty _includeElement = define.getIncludeElement();